Объединения таблиц по равенству значений в столбцах и другие виды объединений

Объединения которые исполяьзуют предикаты основанные на равенствах называются — объединениями по равенству. Все наши примеры в этой главе до настоящего времени, относились именно к этой категории, потому что все условия в предложениях WHERE базировались на математических выражениях использующих знак равно ( = ). Строки ‘city = ‘London’ и ‘Salespeople.snum = Orders.snum ‘ — примеры таких типов равенств, найденных в предикатах. Объединения по равенству — это вероятно наиболее общий вид объединения, но имеются и другие. Вы можете, фактически, использовать любой из реляционных операторов в объединении. Здесь показан пример другого вида объединения ( вывод показывается в Рисунке 8.3 ):
SELECT sname, cname FROM Salespeople, Customers WHERE sname < cname AND rating < 200;

SQL Execution Log

SELECT Customers.cname, Salespeople.sname, FROM Salespeople, Customers
WHERE Salespeople.snum = Customers.snum

sname
cname

Peel
Pereira

Motika
Pereira

Axelrod
Hoffman

Axelrod
Clemens

Axelrod
Pereira

Рисунок 8.3: Объединение, основанное на неравенстве
Эта команда не часто бывает полезна. Она воспроизводит все комбинации имени продавца и имени заказчика так, что первый предшествует последнему в алфавитном порядке, а последний имеет оценку меньше чем 200. Обычно, вы не создаете сложных связей подобно этой, и, по этой причине, вы вероятно будете строить наиболее общие объединения по равенству, но вы должны хорошо знать и другие возможности.
 

‹ Объединение таблиц через справочную целостность
Вверх
Объединение более двух таблиц ›

Айтистанция
Добавить комментарий