Скачать презентацию Операции соединения 1 Виды оператора JOIN 1 Скачать презентацию Операции соединения 1 Виды оператора JOIN 1

ИТ Лекция. БД3.pptx

  • Количество слайдов: 12

Операции соединения 1. Виды оператора JOIN 1 Операции соединения 1. Виды оператора JOIN 1

1 Виды оператора JOIN Информационные технологии 2 1 Виды оператора JOIN Информационные технологии 2

1 Виды оператора JOIN Информационные технологии 3 1 Виды оператора JOIN Информационные технологии 3

1 Виды оператора JOIN INNER JOIN Возвращает пересечение двух множеств. В терминах таблиц, оно 1 Виды оператора JOIN INNER JOIN Возвращает пересечение двух множеств. В терминах таблиц, оно возвращает только записи из обеих таблиц, отвечающие указанному критерию. Запрос: какие люди, какие города посетили SELECT FROM where order by SELECT FROM order by a. name, b. name People a, city b, travel c a. id = c. id. People and b. id=c. id. City a. name c. name, b. name travel a inner join City b on a. id. City=b. id inner join people c on c. id=a. id. People c. name Информационные технологии а где Ольга и Кальяри? 4

1 Виды оператора JOIN LEFT JOIN Дает все запрошенные данные из таблицы в левой 1 Виды оператора JOIN LEFT JOIN Дает все запрошенные данные из таблицы в левой части JOIN плюс данные из правой таблицы, пересекающиеся с первой таблицей. Запрос: все люди, какие города посетили SELECT FROM order by a. name, c. name people a left join travel b on a. id=b. id. People left join city c on c. id=b. id. City a. name Информационные технологии 5

1 Виды оператора JOIN LEFT JOIN SELECT FROM order by a. name, isnull(c. name, 1 Виды оператора JOIN LEFT JOIN SELECT FROM order by a. name, isnull(c. name, '--') 'Город' people a left join travel b on a. id=b. id. People left join city c on c. id=b. id. City a. name Информационные технологии 6

1 Виды оператора JOIN RIGHT JOIN Дает все запрошенные данные из таблицы в левой 1 Виды оператора JOIN RIGHT JOIN Дает все запрошенные данные из таблицы в левой части JOIN плюс данные из правой таблицы, пересекающиеся с первой таблицей. Запрос: все города, кто их посетил SELECT FROM order by isnull(a. name, '--') 'Имя', c. name people a inner join travel b on a. id=b. id. People right join city c on c. id=b. id. City a. name Информационные технологии 7

1 Виды оператора JOIN FULL JOIN Объединение двух множеств SELECT FROM order by a. 1 Виды оператора JOIN FULL JOIN Объединение двух множеств SELECT FROM order by a. name, c. name people a full join travel b on a. id=b. id. People full join city c on c. id=b. id. City a. name Информационные технологии 8

1 Виды оператора JOIN Вывести список городов с кол-вом посещений SELECT FROM c. name, 1 Виды оператора JOIN Вывести список городов с кол-вом посещений SELECT FROM c. name, b. id. People travel b right join city c on c. id=b. id. City order by c. name SELECT FROM c. name, b. id. People city c left join travel b on c. id=b. id. City order by c. name Информационные технологии 9

1 Виды оператора JOIN SELECT FROM c. name, b. id. People/b. id. People city 1 Виды оператора JOIN SELECT FROM c. name, b. id. People/b. id. People city c left join travel b on c. id=b. id. City order by c. name SELECT FROM c. name, isnull(b. id. People/b. id. People, 0) city c left join travel b on c. id=b. id. City order by c. name Информационные технологии 10

1 Виды оператора JOIN SELECT FROM c. name, sum(isnull(b. id. People/b. id. People, 0)) 1 Виды оператора JOIN SELECT FROM c. name, sum(isnull(b. id. People/b. id. People, 0)) 'кол-во' city c left join travel b on c. id=b. id. City group by c. name order by c. name Информационные технологии 11

1 Виды оператора JOIN CROSS JOIN Декартово произведение таблиц SELECT FROM b. name, a. 1 Виды оператора JOIN CROSS JOIN Декартово произведение таблиц SELECT FROM b. name, a. name city a, people b b. name, a. name city a cross join people b Информационные технологии 12