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 | Оранжевый | |
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).