W Cat - SQL за 24 часа

Тут можно читать онлайн W Cat - SQL за 24 часа - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-db. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    SQL за 24 часа
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.5/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

W Cat - SQL за 24 часа краткое содержание

SQL за 24 часа - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)

SQL за 24 часа - читать книгу онлайн бесплатно, автор W Cat
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

ПОЛОЧКА ИЗ ДУБА

СЛАДКАЯ КУКУРУЗА

ТЫКВЕННЫЕ КОНФЕТЫ

ФОНАРИ

ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ

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.

SELECT 'ЗАКАЗЧИКИ' TYPE, COUNT(*)

FROM CUSTOMER_TBL

UNION

SELECT 'СЛУЖАЩИЕ' TYPE, COUNT(*)

FROM EMPLOYEEJTBL

UNION

SELECT 'ТОВАРЫ' TYPE, COUNT(*) FROM PRODUCTS_TBL

GROUP BY 1 ORDER BY 2;

TYPE COUNT(*)

СЛУЖАЩИЕ 6

ТОВАРЫ 11

ЗАКАЗЧИКИ 15

3 строки выбраны.

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

Обеспечение правильности результатов

При использовании составных операторов следует быть предельно внимательными. Например, если в составном операторе с использованием команды INTERSECT неправильно задать первый из операторов SELECT, в результате можно получить либо неполные, либо вообще неверные данные. Кроме того, всегда ли нужно исключать повторения, как это делает команда UNION, или наоборот, отображать все повторения, как это делает команда UNION ALL Необходимо ли видеть все строки, не входящие в результат второго запроса при использовании команды EXCEPT? Как видите, неправильно составленный составной запрос или неправильный порядок запросов, входящих в составной, легко может привести к неправильным результатам

Неполные данные при выводе тоже квалифицируются как неправильные данные.

Резюме

Вы ознакомились с принципами использования составных запросов. На всех предыдущих уроках операторы SQL содержали только по одному запросу. В составных запросах комбинируется несколько запросов, чтобы получить требуемое множество данных. Командами связывания запросов являются команды UNION, UNION ALL, INTERSECT И EXCEPT (или MINUS). При использовании UNION В результате присутствуют данные двух запросов без повторений совпадающих строк данных. При использовании UNION ALL выводятся результаты обоих запросов, не смотря на повторения данных. При использовании INTERSECT возвращаются совпадающие в двух запросах строки данных. А команда EXCEPT (или, что то же самое, MINUS) используется тогда, когда необходимо получить результаты одного запроса, не представленные в другом. Составные запросы обеспечивают исключительную гибкость при составлении самых разных запросов, поскольку без использования составных запросов результирующие операторы могут получаться очень сложными.

Вопросы и ответы

Как используются ссылки на столбцы в выражении ключевого словаGROUP BY при использовании этого ключевого слова в операторе составного запроса?

На столбцы можно ссылаться либо по именам, либо по их номерам в списке выбора, если в разных входящих в оператор запросах столбцы имеют разные имена.

Принцип работы командыEXCEPT понятен, но поменяется ли вывод, если поменять местами запросы, входящие в оператор составного запроса?

Да. При использовании EXCEPT или MINUS порядок запросов, входящих в составной запрос, оказывается очень важным. Не забывайте о том, что в этом случае возвращаются все строки первого запроса, не возвращаемые вторым. Изменение порядка запросов должно повлиять на результат.

Должны ли в составном запросе быть одинаковыми и типы данных, и длины столбцов, входящих в оператор запросов?

Нет. Одинаковыми должны быть только типы данных. Длины столбцов могут отличаться.

Практикум

Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".

Тесты

1. Правильно ли составлены приведенные ниже составные запросы? Если нет, то что в них следует исправить? В операторах используются следующие таблицы EMPLOYEE PAY TBL И EMPLOYEE PAY TBL.

EMPLOYEE_TBL

EMP ID LAST NAME FIRST NAME MIDDLE NAME ADDRESS CITY STATE ZIP PHONE PAGER

VARCHAR2 ( 9 ) VARCHAR2 (15) VARCHAR2 (15) VARCHAR2 (15) VARCHAR2 (30) VARCHAR2 (15) CHAR ( 2 ) NUMBER (5) CHAR (10) CHAR (10)

NOT NULL NOT NULL NOT NULL

NOT NULL NOT NULL NOT NULL NOT NULL

CONSTRAINT EMP

_PK PRIMARY KEY

(EMP_ID)

EMPLOYEE PAY TBL

EMP ID POSITION DATE HIRE PAY RATE

VARCHAR2 ( 9 ) VARCHAR2 (15) DATE NUMBER (4,2)

NOT NULL NOT NULL

NOT NULL

Ключевое поле

DATE_LAST-RAISE DATE SALARY NUMBER(8,2) BONUS NUMBER(6,2)

CONSTRAINT EMP_FK FOREIGN KEY (EMP_ID) REFERENCED

EMPLOYEE_TBL (EMP_ID)

a. SELECT EMP_ID, LAST_NAME, FIRST_NAME FROM EMPLOYEEJTBL UNION SELECT EMP_ID, POSITION, DATE_HIRE

FROM EMPLOYEE_PAY_TBL;

6. SELECT EMP_ID FROM EMPLOYEEJTBL UNION ALL

SELECT EMP_ID FROM EMPLOYEE_PAY_TBL ORDER BY EMP_ID;

B. SELECT EMP_ID FROM EMPLOYEE_PAY_TBL INTERSECT

SELECT EMP_lD FROM EMPLOYEEJTBL ORDER BY 1;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




SQL за 24 часа отзывы


Отзывы читателей о книге SQL за 24 часа, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x