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

Сортировка

11 SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы ORDER BY имя_столбца1;

SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы ORDER BY имя_столбца3 DESC;

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

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

© HAULMONT, 2012

Примеры сортировок

12

SELECT name, author, price FROM books ORDER BY price;

SELECT name, author, price FROM books ORDER BY price DESC;

SELECT name, author, price FROM books ORDER BY price, name;

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

© HAULMONT, 2012

Агрегатные функции

13• Действуют для набора строк, но результат – единственное значение

AVG(имя_ столбца) – среднее значение

MAX(имя_ столбца) – максимальное значение

MIN(имя_ столбца) – минимальное значение

SUM(имя_ столбца) – сумма

COUNT(*) – возвращает количество строк в таблице

COUNT(имя_ столбца) – возвращает количество строк, отличных от null

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

© HAULMONT, 2012

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

функций

14

SELECT AVG(price), MAX(price),

MIN(price), SUM(price),

COUNT(price), COUNT(*) FROM books;

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

© HAULMONT, 2012

Предложение GROUP BY

15• Позволяет разделить строки на меньшие группы

Все столбцы из списка SELECT, не входящие в агрегатные функции, должны быть в предложении GROUP BY

Столбец, используемый в предложении GROUP BY, не обязан входить в список SELECT

Возможна группировка более чем по одному столбцу

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

© HAULMONT, 2012

Использование предложения GROUP

BY

16 SELECT имя_столбца1, AVG(имя_столбца2) FROM имя_таблицы GROUP BY имя_столбца1;

SELECT AVG(имя_столбца1) FROM имя_таблицы GROUP BY имя_столбца2;

SELECT имя_столбца1, AVG(имя_столбца2) FROM имя_таблицы GROUP BY имя_столбца3, имя_столбца1;

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

© HAULMONT, 2012

Пример использования GROUP BY

17

SELECT shop_id, AVG(price) FROM books GROUP BY shop_id;

SELECT AVG(price) FROM books GROUP BY shop_id;

SELECT name, AVG(price) FROM books GROUP BY shop_id, name;

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

© HAULMONT, 2012

Предложение HAVING

18• Используется для вывода групп, удовлетворяющих предложению HAVING

Предложение HAVING указывается до предложения ORDER BY

SELECT имя_столбца1, AVG(имя_столбца2) FROM имя_таблицы GROUP BY имя_столбца3, имя_столбца1 HAVING условие;

SELECT имя_столбца1, AVG(имя_столбца2) FROM имя_таблицы GROUP BY имя_столбца3, имя_столбца1 HAVING условие ORDER BY AVG(имя_столбца2) DESC;

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

© HAULMONT, 2012

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

HAVING

19 SELECT name, AVG(price) FROM books GROUP BY shop_id, name HAVING AVG(price) > 400;

SELECT name, AVG(price) FROM books GROUP BY shop_id, name HAVING AVG(price) > 400 ORDER BY AVG(price) DESC;

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

© HAULMONT, 2012

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

20• Можно получать данные из нескольких таблиц путём их объединения через:

1)Предложение WHERE

2)Через INNER JOIN

3)Через LEFT OUTER JOIN (RIGHT OUTER JOIN)

Можно объединять таблицу саму с собой (SELF JOIN), в этом случае следует использовать два разных имени для таблицы в предложении FROM

Если в разных таблицах столбцы имеют одинаковые имена, то перед именем столбца нужно указывать имя таблицы

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

© HAULMONT, 2012

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