Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
16.03.2015
Размер:
678.4 Кб
Скачать

Объединение таблиц

21 SELECT имя_таблицы1.имя_столбца1, имя_таблицы2.имя_столбца1, имя_столбца3 FROM имя_таблицы1, имя_таблицы2 WHERE имя_таблицы1.имя_столбца4 = имя_таблицы2.имя_столбца4;

SELECT имя_таблицы1.имя_столбца1, имя_таблицы2.имя_столбца1, имя_столбца3 FROM имя_таблицы1

INNER JOIN имя_таблицы2 ON (имя_таблицы1.имя_столбца4 = имя_таблицы2.имя_столбца4);

SELECT имя_таблицы1.имя_столбца1, имя_таблицы2.имя_столбца1, имя_столбца3 FROM имя_таблицы1

RIGHT JOIN имя_таблицы2 ON (имя_таблицы1.имя_столбца4 = имя_таблицы2.имя_столбца4;

SELECT a.имя_столбца1, a.имя_столбца2, a.имя_столбца3 FROM имя_таблицы1 a, имя_таблицы1 b WHERE (a.имя_столбца2 = b.имя_столбца1 AND a.имя_столбца3 > b.имя_столбца3)

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Пример объединения таблиц

22

SELECT books.name, shops.name, author, price FROM books, shops WHERE books.shop_id = shops.shop_id;

SELECT books.name, shops.name, author, price FROM books

INNER JOIN shop ON (books.shop_id = shops.shop_id);

SELECT books.name, shops.name, author, price FROM books

RIGHT JOIN shop ON (books.shop_id = shops.shop_id);

SELECT a.name, a.author, a.price FROM books a, books b WHERE (a.price > b.price)

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Вложенные запросы

23• Выполняются перед выполнением основного запроса

Результат выполнения вложенного запроса используется в основном (внешнем) запросе

Вложенный запрос заключается в ()

Во вложенном запросе можно использовать агрегатные функции

Вложенный запрос может использоваться в предложениях WHERE, HAVING

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Вложенные запросы

24• Бывают однострочные и многострочные

Для многострочных подзапросов следует использовать многострочные операторы:

1)IN – совпадает с любым из списка,

2)ANY – сравнивает значение со всеми в смысле «хотя бы для одного»,

3)ALL – сравнивает значение со всеми в смысле «для всех».

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Пример использования вложенных

запросов

25 SELECT name, author, price FROM books WHERE price = (SELECT price FROM books WHERE books_id = 1);

SELECT name, author, price FROM books WHERE price = (SELECT MIN(price) FROM books);

SELECT name, AVG(price) FROM books GROUP BY shop_id, name HAVING AVG(price) > (SELECT AVG(price) FROM books WHERE shop_id = 3);

SELECT name, author, price FROM books WHERE price > ANY (SELECT price FROM books);

Все права защищены. www.haulmont.ru info@haulmont.com

© HAULMONT, 2012

Соседние файлы в папке Haulmont-презентации Java