SQL: FROM Пункт


В этом учебнике по SQL объясняется, как использовать SQL FROM пункт с синтаксисом и примерами.

Описание

Предложение SQL FROM используется для перечисления таблиц и любых объединений, необходимых для оператора SQL.

Синтаксис

Синтаксис предложения FROM в SQL:

 FROM table1
[ { ВНУТРЕННЕЕ СОЕДИНЕНИЕ
  | ЛЕВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ
  | ПРАВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ
  | ПОЛНОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ } таблица2
ON таблица1.столбец1 = таблица2.столбец1 ] 

Параметры или аргументы

таблица1 и таблица2
Это таблицы, используемые в операторе SQL. Две таблицы соединены на основе table1.column1 = table2.column1.

Примечание

  • При использовании предложения FROM в операторе SQL должна быть хотя бы одна таблица, указанная в предложении FROM.
  • Если в предложении SQL FROM указано две или более таблиц, эти таблицы обычно объединяются с помощью соединений INNER или OUTER.

DDL/DML для примеров

Если вы хотите следовать этому руководству, получите DDL для создания таблиц и DML для заполнения данных. Тогда попробуйте примеры в своей собственной базе данных!

Получить DDL/DML

Пример — одна таблица, указанная в предложении FROM

Мы начнем с рассмотрения того, как использовать предложение FROM, которое перечисляет только одну таблицу в операторе SQL.

В этом примере у нас есть таблица с именем поставщиков со следующими данными:

идентификатор_поставщика имя_поставщика город состояние
100 Майкрософт Редмонд Вашингтон
200 Гугл Маунтин-Вью Калифорния
300 Оракул Редвуд Сити Калифорния
400 Кимберли-Кларк Ирвинг Техас
500 Тайсон Фудс Спрингдейл Арканзас
600 СК Джонсон Расин Висконсин
700 Доул Фуд Компани Вестлейк Виллидж Калифорния
800 Цветочная еда Томасвилл Грузия
900 Электронное искусство Редвуд Сити Калифорния

Введите следующую инструкцию SQL:

Попробуйте

 SELECT *
ОТ поставщиков
ГДЕ supplier_id < 400
ЗАКАЗАТЬ ПО ГОРОДУ DESC; 

Будет выбрано 3 записи.

Вот результаты, которые вы должны увидеть:

идентификатор_поставщика имя_поставщика город состояние
300 Оракул Редвуд Сити Калифорния
100 Майкрософт Редмонд Вашингтон
200 Гугл Маунтин-Вью Калифорния

В этом примере мы использовали предложение FROM для вывода таблицы с именем

поставщиков . В этом запросе не выполняются соединения, так как мы перечислили только одну таблицу.

Пример. Две таблицы в предложении FROM (INNER JOIN)

Давайте посмотрим, как использовать предложение FROM для INNER JOIN двух таблиц.

В этом примере у нас есть таблица products со следующими данными:

product_id имя_продукта id категории
1 Груша 50
2 Банан 50
3 Оранжевый
50
4 Яблоко 50
5 Хлеб 75
6 Нарезанная ветчина 25
7 Клинекс НУЛЕВОЙ

И таблица под названием категории со следующими данными:

category_id имя_категории
25 Гастроном
50 Произвести
75 Пекарня
100
Общие товары
125 Технология

Введите следующую инструкцию SQL:

Попробуйте

 SELECT products. product_name, category.category_name
ИЗ продуктов
Категории ВНУТРЕННЕГО СОЕДИНЕНИЯ
ПО products.category_id = Categories.category_id
ГДЕ product_name <> 'Груша'; 

Будет выбрано 5 записей. Вот результаты, которые вы должны увидеть:

product_name имя_категории
Банан Произвести
Оранжевый Произвести
Яблоко Произвести
Хлеб Пекарня
Нарезка ветчины Гастроном

В этом примере используется предложение FROM для объединения двух таблиц — продуктов и категорий . В этом случае мы используем предложение FROM для указания ВНУТРЕННЕГО СОЕДИНЕНИЯ между таблицами products и category на основе столбца category_id в обеих таблицах.

Пример. Две таблицы в предложении FROM (OUTER JOIN)

Давайте посмотрим, как использовать предложение FROM при объединении двух таблиц с помощью OUTER JOIN. В этом случае мы рассмотрим ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ.

Давайте воспользуемся теми же таблицами продуктов и категорий из приведенного выше примера INNER JOIN, но на этот раз мы объединим таблицы с помощью LEFT OUTER JOIN. Введите следующую инструкцию SQL:

Попробуйте

 SELECT products.product_name, Categories.category_name
ИЗ продуктов
Категории LEFT OUTER JOIN
ПО products.category_id = Categories.category_id
ГДЕ product_name <> 'Груша'; 

Будет выбрано 6 записей. Вот результаты, которые вы должны увидеть:

имя_продукта имя_категории
Банан Произвести
Оранжевый Произвести
Яблоко Произвести
Хлеб Пекарня
Нарезка ветчины Гастроном
Клинекс НУЛЕВОЙ

В этом примере используется предложение FROM для LEFT OUTER JOIN таблиц products и категорий на основе category_id в обеих таблицах.

Теперь последняя запись с product_name «Kleenex» появится в нашем наборе результатов со значением NULL для category_name . Эта запись не появилась в наших результатах, когда мы выполнили INNER JOIN.

Предложение FROM в SQL — разделы Scaler

Обзор

Предложение FROM в SQL используется, чтобы сообщить компилятору из , из каких таблиц данные должны быть извлечены при выполнении SQL-запроса.

В этой статье мы узнаем о различных способах использования предложения FROM с одной или несколькими таблицами.

Scope

В этой статье, основываясь на предложении FROM в SQL, мы обсудим следующие вопросы:

  • Что такое предложение FROM в SQL.
  • Различные способы использования предложения FROM с одной или несколькими таблицами, а также несколько примеров.
Примечание. В этой статье будет использоваться синтаксис MySQL, хотя предложение FROM может использоваться в других СУБД, таких как Oracle Database, PostgreSQL, Microsoft SQL Server и т.
д., синтаксис может немного отличаться.

Введение

Возьмем простой сценарий, когда вас просят принести папку с некоторыми важными документами. Каким должен быть ваш первый вопрос? Очевидно, ИЗ куда его везти, да?

То же самое происходит и с компилятором SQL. Когда вы просите его получить некоторые записи, вам нужно сказать ему FROM куда их привести, т.е. из какой таблицы

Примечание: Ну, может быть даже случай, когда нужно получить записи из комбинации нескольких таблиц, в таком случае используем JOIN .]{.note}

Таким образом, FROM — это ключевое слово SQL, которое сообщает компилятору SQL, из какой таблицы (таблиц) он должен получить записи при выполнении запроса.

Предложение FROM нельзя использовать отдельно, перед ним необходимо минимальное предложение SELECT, иначе результат не будет возвращен.

Синтаксис

Примеры

Давайте рассмотрим несколько примеров, чтобы увидеть, как предложение FROM используется с одной таблицей и с несколькими таблицами с использованием условий JOIN.

Одна таблица в предложении FROM

Рассмотрим таблицу с именем EMPLOYEE, имеющую столбцы ID сотрудника (empId), имя сотрудника (name) и отдел (dept), а empId — это ПЕРВИЧНЫЙ КЛЮЧ. В таблице 5 записей, и она выглядит следующим образом:

Таблица EMPLOYEE

Теперь, скажем, нам нужны имена сотрудников, которые работают в отделе «Продажи».

Итак, вот как мы используем предложение FROM в случае, если нам нужны данные из одной таблицы:

Приведенный выше запрос MySQL находит имена сотрудников, работающих в отделе «Продажи», из таблицы EMPLOYEE.

Вывод:

Мы получаем только имена Нарен и Ава, так как это единственные два сотрудника, которые работают в отделе продаж.

Две таблицы в предложении FROM

Теперь рассмотрим пример с двумя отдельными таблицами. Одна таблица с именем EMPLOYEE состоит из сведений о сотруднике, таких как идентификатор сотрудника, имя сотрудника и адрес в столбцах с именами Emp_Id, Name и Address соответственно. Другая таблица с именем OFFICE состоит из сведений об офисе, таких как идентификатор сотрудника, отдел и расположение офиса в столбцах с именами Emp_Id, Dept, Location соответственно.

В обеих таблицах у нас есть Emp_Id как PRIMARY KEY, и каждая из них имеет 3 записи.

Таблица EMPLOYEE :

Таблица OFFICE:

Мы будем использовать две приведенные выше таблицы и понимать примеры как с INNER JOIN, так и с OUTER JOIN.

Две таблицы в предложении FROM (INNER JOIN)

Попробуем найти сведения о сотруднике, местонахождение офиса которого совпадает с его адресом. Здесь нам понадобятся обе таблицы. Итак, мы будем использовать предложение FROM для двух таблиц и применить INNER JOIN.

Запрос MySQL выглядит следующим образом:

Приведенный выше код MySQL находит сведения о сотрудниках, чей адрес совпадает с адресом их офиса, путем объединения двух таблиц EMPLOYEE и OFFICE с помощью INNER JOIN.

Вывод:

А вот и детали 'Сабхам' ! Он единственный сотрудник, у которого местонахождение офиса совпадает с адресом.

Итак, мы увидели, как предложение FROM используется для выполнения запросов, объединяющих две отдельные таблицы и использующих INNER JOIN.

Далее мы увидим, как это работает с OUTER JOIN.

Две таблицы в предложении FROM (OUTER JOIN)

Теперь давайте выполним тот же запрос для поиска сведений о сотруднике, местонахождение офиса которого совпадает с его адресом, но на этот раз мы будем использовать OUTER JOIN.

Запрос MySQL выглядит следующим образом:

Приведенный выше запрос MySQL находит сведения о сотрудниках, адреса которых совпадают с адресами их офисов. Поскольку нам нужна информация из обеих таблиц, таблицы EMPLOYEE и таблицы OFFICE, мы соединяем их с помощью LEFT OUTER JOIN.

Вывод:

И поехали! У нас снова есть Субхам, единственный сотрудник, чей адрес совпадает с адресом его офиса. Наряду с этим у нас есть две другие записи из левой таблицы (таблица EMPLOYEE), для которых нет соответствия в правой таблице (таблица OFFICE).