- •Тема 5. Запити на мові sql
- •Діалекти sql
- •Типи даних в sql
- •Прості запити на мові sql
- •Проекція в sql
- •Порівняння рядків
- •Значення дати і часу в sql
- •Значення null і операції з ним
- •Значення unknown і операції з ним
- •Запити до декількох відношень Декартів добуток і з’єднання відношень у sql
- •Розрізнення одноіменних атрибутів кількох відношень
- •Змінні кортежів та псевдоніми відношень
- •Об’єднання запитів
- •Мова sql. Підзапити та вирази з’єднання Підзапити
- •Підзапити для обчислення скалярних значень
- •Умови рівня відношення
- •Умови рівня кортежу
- •Корельовані підзапити
- •Підзапити в реченнях from
- •Вирази з’єднання в sql
- •Перехресне з’єднання
- •Тета-з’єднання
- •Натуральне з’єднання
- •Зовнішнє тета-з’єднання
- •З’єднання у діалектах Jet sql та Transact sql
- •Приклад правого зовнішнього з’єднання для Oracle:
З’єднання у діалектах Jet sql та Transact sql
На жаль, у цих діалектах багато чого відсутнє відносно SQL92, особливо у Jet SQL.
Таблиця 5.15. З’єднання у Jet SQL (MsAccess) та TransactSQL (MsSQL Server)
Jet SQL |
Transact SQL |
ORACLE |
|
|
NATURAL JOIN |
|
JOIN = INNER JOIN |
JOIN = INNER JOIN |
INNER JOIN |
INNER JOIN |
INNER JOIN |
|
CROSS JOIN WHERE = INNER JOIN ON |
CROSS JOIN WHERE = INNER JOIN ON |
LEFT JOIN = LEFT OUTER JOIN |
LEFT JOIN = LEFT OUTER JOIN |
LEFT JOIN = LEFT OUTER JOIN Синтаксис декартового добутку та (+) на стороні NULL у реченні WHERE |
|
|
|
RIGHT JOIN = RIGHT OUTER JOIN |
RIGHT JOIN = RIGHT OUTER JOIN |
RIGHT JOIN = RIGHT OUTER JOIN Синтаксис декартового добутку та (+) на стороні NULL у реченні WHERE |
|
FULL JOIN = FULL OUTER JOIN |
? Працює як INNER JOIN |
Приклад правого зовнішнього з’єднання для Oracle:
select "LOCATIONS"."CITY", "COUNTRIES"."COUNTRY_NAME"
from "LOCATIONS", "COUNTRIES"
where "LOCATIONS"."COUNTRY_ID"(+) ="COUNTRIES"."COUNTRY_ID"
I JOIN, і (+) належать до стандарту SQL92
