Читаем SQL за 24 часа полностью

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

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


Практикум

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


Тесты

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;

2. Свяжите описания задач операторов с подходящими командами.

_______Задача оператора______________Команда

а. Показать совпадающие данные UNION

б. Вернуть только те строки первого за- INTERSECT

проса, которым имеются эквивааенты UNION ALL

во втором запросе FXPFPT

в. Показать данные без повторений

г. Вернуть строки первого запроса, не

возвращаемые вторым


Упражнения

Выполните упражнения для следующих таблиц.

Задача оператора


Команда


а. Показать совпадающие данные


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


в. Показать данные без повторений г. Вернуть строки первого запроса, не возвращаемые вторым



UNION


INTERSECT UNION ALL EXCEPT


CUSTOMER_TBL








CUST ID CUST NAME CUST ADDRESS CUST CITY COST STATE CUST ZIP CUST PHONE CUST_FAX


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


NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL


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


ORDERS TBL








ORD NUM CUST ID PROD ID QTY ORD DATE


VARCHAR2 (10) VARCHAR2 (10) VARCHAR2 (10) NUMBER (6) DATE


NOT NULL NOT NULL NOT NULL NOT NULL


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


1. Запишите составной запрос, возвращающий имена всех покупателей (C(JST_NAME), разместивших заказы.

2. Запишите составной запрос, возвращающий имена всех покупателей (CUST_NAME), не разместивших заказы.



16-й час Использование индексов для ускорения поиска данных

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

Сначала будет рассмотрено использование команды CREATE INDEX, с помощью которой создаются индексы таблиц, а затем использование самих индексов.

Основными на этом уроке будут следующие темы.

• Создание индексов

• Принципы работы индексов

• Различные типы индексов

• Когда следует использовать индексы?

• Когда не следует использовать индексы?


Что такое индекс?

Перейти на страницу:

Похожие книги

Adobe InDesign CS3
Adobe InDesign CS3

Книга посвящена верстке и макетированию в программе Adobe InDesign CS3. Помимо того что в ней описываются возможности программы, рассматриваются также принципы и традиции верстки, приводятся примеры решения типичных задач. Все это позволит читателю не только овладеть богатым инструментарием программы, но и грамотно применять его.Материал книги разделен на логические части: теоретические сведения, инструментарий программы, решение задач, – а также рассчитан на два уровня подготовки читателей – начинающих и опытных пользователей, что выгодно отличает книгу от других изданий. Это позволит применять ее как новичкам для знакомства с программой, так и пользователям со стажем для пополнения своих знаний.

Владимир Гавриилович Завгородний , Владимир Завгородний

Программирование, программы, базы данных / Программное обеспечение / Книги по IT