W Cat - SQL за 24 часа
Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "SQL за 24 часа"
Описание и краткое содержание "SQL за 24 часа" читать бесплатно онлайн.
ПЛАСТИКОВЫЕ ТЫКВЫ
ПОЛОЧКА ИЗ ДУБА
СЛАДКАЯ КУКУРУЗА
ТЫКВЕННЫЕ КОНФЕТЫ
ФОНАРИ
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ
11 строк выбраны.
Этот запрос тоже возвращает 11 записей, как и два предыдущих, поскольку при объединении двух запросов с помощью команды UNION повторяющиеся в таблицах записи повторно не выводятся.
В следующем примере с помощью команды UNION комбинируются два независимых запроса.
SELECT PROD_DESC FROM PRODDCTS_TBL
UNION
SELECT LAST_NAME FROM EMPLOYEE_TBL;
PROD_DESC
GLASS
GLASS
PLEW
SPURGEON
STEPHENS
WALLACE
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
КОСТЮМ ВЕДЬМЫ
КОСТЮМЫ В АССОРТИМЕНТЕ
МАСКИ В АССОРТИМЕНТЕ
ПЛАСТИКОВЫЕ ПАУКИ
ПЛАСТИКОВЫЕ ТЫКВЫ
ПОЛОЧКА ИЗ ДУБА
СЛАДКАЯ КУКУРУЗА
ТЫКВЕННЫЕ КОНФЕТЫ
ФОНАРИ
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ
16 строк выбраны.
Здесь значения столбцов PROD_DESC и LAST_NAME оказываются перечисленными вместе, причем для заголовка столбца использовано имя столбца, выбранного в первом запросе.
Команда UNION ALL
Команда UNION ALL используется для такого объединения результатов двух операторов SELECT, в которое включаются и повторения строк. Правила использования команды UNION ALL такие же, как и правила использования UNION.
Синтаксис оператора с использованием команды UNION ALL должен быть следующим.
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, габлица2 ]
[ WHERE ]
UNION ALL
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
Рассмотрим пример.
SELECT EMP_ID FROM EMPLOYEE_TBL
UNION ALL
SELECT EMP_ID FROM EMPLOYEE_PAY_TBL;
В результате табельные номера, имеющиеся в обеих таблицах, отобразятся дважды.
Следующий составной запрос отличается от составного запроса из предыдущего раздела только использованием команды UNION ALL вместо UNION.
SELECT PROD_DESC FROM PRODUCTS_TBL
UNION ALL
SELECT PROD_DESC FROM PRODUCTSJTMP;
PROD__DESC
КОСТЮМ ВЕДЬМЫ
ПЛАСТИКОВЫЕ ТЫКВЫ
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
ФОНАРИ
КОСТЮМЫ В АССОРТИМЕНТЕ
СЛАДКАЯ КУКУРУЗА
ТЫКВЕННЫЕ КОНФЕТЫ
ПЛАСТИКОВЫЕ ПАУКИ
МАСКИ В АССОРТИМЕНТЕ
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ
ПОЛОЧКА ИЗ ДУБА
КОСТЮМ ВЕДЬМЫ
ПЛАСТИКОВЫЕ ТЫКВЫ
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
ФОНАРИ
КОСТЮМЫ В АССОРТИМЕНТЕ
СЛАДКАЯ КУКУРУЗА
ТЫКВЕННЫЕ КОНФЕТЫ
ПЛАСТИКОВЫЕ ПАУКИ
МАСКИ В АССОРТИМЕНТЕ
20 строк выбраны.
Обратите внимание на то, что возвращены 20 строк (11+9), поскольку команда UNION ALL предполагает включение в вывод повторения строк.
Команда INTERSECT
Команда INTERSECT используется для такого комбинирования результатов двух операторов SELECT, при котором в вывод попадают только те строки из первого запроса, для которых имеются идентичные строки из второго запроса Правила использования команды INTERSECT аналогичны правилам использования команды UNION.
Синтаксис оператора с использованием команды INTERSECT должен быть следующим.
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
INTERSECT
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
Рассмотрим пример.
SELECT CUST_ID FROM CUSTOMERJTBL
INTERSECT
SELECT CUST_ID FROM ORDERSJTBL;
В результате отобразятся номера кодов только тех заказчиков, которые разместили заказы.
Следующий составной запрос аналогичен предыдущим, но в нем используется команда INTERSECT.
SELECT PROD_DESC FROM PRODUCTS_TBL
INTERSECT
SELECT PROD_DESC FROM PRODUCTS_TMP;
PROD_DESC
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
КОСТЮМ ВЕДЬМЫ
КОСТЮМЫ В АССОРТИМЕНТЕ
МАСКИ В АССОРТИМЕНТЕ
ПЛАСТИКОВЫЕ ПАУКИ
ПЛАСТИКОВЫЕ ТЫКВЫ
ПОЛОЧКА ИЗ ДУБА
СЛАДКАЯ КУКУРУЗА
ТЫКВЕННЫЕ КОНФЕТЫ
9 строк выбраны.
Здесь снова возвращены только 9 строк, поскольку 9 строк идентичны в выводе обоих запросов.
Команда EXCEPT
Команда EXCEPT комбинирует результаты двух операторов SELECT таким образом, что в вывод попадают те строки первого запроса, которым нет аналогов во втором запросе. Опять же, правила использования команды EXCEPT аналогичны правилам использования команды UNION.
Синтаксис оператора с использованием команды EXCEPT должен быть следующим.
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
EXCEPT
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
Рассмотрим пример.
SELECT PROD_DESC FROM PRODUCTS_TBL
EXCEPT
SELECT PROD_DESC FROM PRODUCTS_TMP;
PROD_DESC
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ ПОЛОЧКА ИЗ ДУБА
2 строки выбраны.
Результаты вывода показывают, что имеется две строки данных, возвращенные первым запросом, но не возвращенные вторым
В некоторых реализациях SQL вместо команды EXCEPT используется команда MINUS Проверьте по документации используемой вами реализации языка, какая именно команда используется в нем для представления функции команды EXCEPT
SELECT PROD_DESC FROM PRODUCTS_TBL
MINUS
SELECT PROD_DESC FROM PRODUCTS_TMP;
PROD_DESC
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ ПОЛОЧКА ИЗ ДУБА
2 строки выбраны
Использование ORDER BY в составных запросах
В составных запросах можно использовать ключевое слово ORDER BY Однако ключевое слово ORDER BY в них можно использовать только для упорядочения результатов окончательного вывода обоих запросов Поэтому в составном запросе допускается использовать только одно выражение с ключевым словом ORDER BY, хотя сам составной запрос может состоять из нескольких операторов SELECT На столбцы в выражении ключевого слова ORDER BY можно ссылаться как по псевдонимам, так и по их номерам в списке выбора
Синтаксис оператора с использованием ORDER BY должен быть следующим
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
КОМАНДА{UNION | EXCEPT INTERSECT | UNION ALL}
SELECT столбец1 [, столбец2 ] FROM таблица1 [, таблица2 ]
[ WHERE ]
[ ORDER BY ]
Рассмотрим пример
SELECT EMP_ID FROM EMPLOYEE_TBL
UNION
SELECT EMP_ID FROM EMPLOYEE_PAY_TBL
ORDER BY 1;
В результате вывод этого составного запроса будет упорядочен по первому столбцу каждого из составляющих запросов С помощью сортировки в составном запросе легко выявить повторяющиеся строки
Этот оператор SQL возвращает упорядоченный список табельных номеров служащих ИЗ таблиц EMPLOYEEJTBL И EMPLOYEE_PAY_TBL без повторений
Обратите внимание на то что здесь выражение ключевого слова ORDER BY ссылается на столбец по номеру 1, а не по имени
В следующем примере показано использование ключевого слова ORDER BY в составном запросе с реальными данными В выражении ключевого слова ORDER BY можно использовать имя столбца, если этот столбец присутствует и имеет одно и то же имя в каждом из составляющих оператор запросов
SELECT PROD_DESC FROM PRODUCTSJTBL
ONION
SELECT PROD_DESC FROM PRODUCTS_TBL
ORDER BY PROD_DESC;
PROD_DESC
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
КОСТЮМ ВЕДЬМЫ
КОСТЮМЫ В АССОРТИМЕНТЕ
МАСКИ В АССОРТИМЕНТЕ
ПЛАСТИКОВЫЕ ПАУКИ
ПЛАСТИКОВЫЕ ТЫКВЫ
ПОЛОЧКА ИЗ ДУБА
СЛАДКАЯ КУКУРУЗА
ТЫКВЕННЫЕ КОНФЕТЫ
ФОНАРИ
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ
11 строк выбраны.
В следующем примере вместо имени столбца для сортировки использован его номер
SELECT PROD_DESC FROM PRODUCTS_TBL
UNION
SELECT PROD_DESC FROM PRODUCTS_TBL
ORDER BY 1,
PROD_DESC
ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ
КОСТЮМ ВЕДЬМЫ
КОСТЮМЫ В АССОРТИМЕНТЕ
МАСКИ В АССОРТИМЕНТЕ
ПЛАСТИКОВЫЕ ПАУКИ
ПЛАСТИКОВЫЕ ТЫКВЫ
ПОЛОЧКА ИЗ ДУБА
СЛАДКАЯ КУКУРУЗА
ТЫКВЕННЫЕ КОНФЕТЫ
ФОНАРИ
ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ
11 строк выбраны.
Использование GROUP BY в составных запросахВ отличие от ORDER BY, ключевое слово GROUP BY можно использовать не только в любом из входящих в составной запрос операторе SELECT, но и для всего составного запроса в целом, разместив GROUP BY в конце. Кроме того, вместе с GROUP BY в любом из входящих в составной запрос операторе SELECT можно использовать ключевое слово HAVING (которое иногда используется с GROUP BY).
Синтаксис оператора с использованием GROUP BY должен быть следующим.
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
; GROUP BY ]
t HAVING ]
КОМАНДА{UNION | EXCEPT | INTERSECT | UNION ALL}
SELECT столбец1 [, столбец2 ]
FROM таблица1 [, таблица2 ]
[ WHERE ]
[ GROUP BY ]
[ HAVING ]
[ ORDER BY ]
В следующем примере выбираются буквальные символьные строки, представляющие записи о заказчиках, служащих и товарах. Каждый из входящих в оператор запросов просто подсчитывает число всех записей соответствующей таблицы. В выражении GROUP BY задается группирование выводимых данных по столбцу номер 1.
SELECT 'ЗАКАЗЧИКИ' TYPE, COUNT(*)
FROM CUSTOMERJTBL
UNION
SELECT 'СЛУЖАЩИЕ' TYPE, COUNT(*)
FROM EMPLOYEEJTBL
UNION
SELECT 'ТОВАРЫ' TYPE, COUNT(*)
FROM PRODUCTS_TBL
GROUP BY 1;
TYPE COUNT(*)
ЗАКАЗЧИКИ 15
СЛУЖАЩИЕ 6
ТОВАРЫ 11
3 строки выбраны.
Следующий запрос возвращает те же данные, но в нем дополнительно используется ключевое слово ORDER BY.
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "W Cat - SQL за 24 часа"
Отзывы читателей о книге "SQL за 24 часа", комментарии и мнения людей о произведении.