Изучаем sql


• Возвращают один столбец и одну строку, один столбец и несколько строк, а также несколько столбцов и строк. •



Pdf көрінісі
бет175/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   171   172   173   174   175   176   177   178   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )


Возвращают один столбец и одну строку, один столбец и несколько
строк, а также несколько столбцов и строк.

Не зависят от содержащего выражения (несвязанные подзапросы).

Используют один или более столбцов из содержащего выражения
(связанные подзапросы).

Применяются в условиях, используемых операторами сравнения
и специальными операторами 
in

not
in

exists
и 
not
exists
.

Могут находиться в выражениях 
select

update

delete
и 
insert
.

Формируют таблицы, которые можно соединить в запросе с други
ми таблицами.


194
Глава 9. Подзапросы

Позволяют формировать значения для заполнения таблицы или
столбцов результирующего набора запроса.

Используются в блоках 
select

from

where

having
и 
order
by
запросов.
Очевидно, подзапросы – очень многогранный инструмент, поэтому не
отчаивайтесь, если при первом прочтении главы вы поймете не все
представленные здесь принципы. Продолжайте экспериментировать
с подзапросами и вскоре обнаружите, что при написании каждого не
обычного SQLвыражения очень полезно рассматривать возможность
использования подзапроса.
Упражнения
Эти упражнения ориентированы на проверку понимания подзапросов.
Решения приведены в приложении С.
9.1
Создайте запрос к таблице 
account
, использующий условие фильтра
ции с несвязанным подзапросом к таблице 
product
для поиска всех кре
дитных счетов (
product.product_type_cd
=
'LOAN'
). Должны быть выбра
ны ID счета, код счета, ID клиента и доступный остаток.
9.2
Переработайте запрос из упражнения 9.1, используя 
связанный 
подза
прос к таблице 
product
для получения того же результата.
9.3
Соедините следующий запрос с таблицей 
employee
, чтобы показать уро
вень квалификации каждого сотрудника:
SELECT 'trainee' name, '20040101' start_dt, '20051231' end_dt
UNION ALL
SELECT 'worker' name, '20020101' start_dt, '20031231' end_dt
UNION ALL
SELECT 'mentor' name, '20000101' start_dt, '20011231' end_dt
Дайте подзапросу псевдоним 
levels
(уровни) и включите ID сотрудни
ка, имя, фамилию и квалификацию (
levels.name
). (Совет: в условии со
единения определяйте диапазон, в который попадает столбец 
em
ployee.start_date
, с помощью условия неравенства.)
9.4
Создайте запрос к таблице 
employee
для получения ID, имени и фами
лии сотрудника вместе с названиями отдела и отделения, к которым
он приписан. Не используйте соединение таблиц.




Достарыңызбен бөлісу:
1   ...   171   172   173   174   175   176   177   178   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет