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

Запросы к таблицам

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

© HAULMONT, 2012

Цели занятия

2Научиться:

•Писать простейшие запросы

•Писать запросы, задавая условия выборки данных

•Использовать встроенные функции, в том числе агрегатные

•Уметь использовать предложения ORDER BY, GROUP BY, HAVING

•Писать запросы, используя данные из двух и более таблиц

•Писать вложенные запросы

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

© HAULMONT, 2011

SELECT

3

Для написания запросов к таблицам используется оператор SELECT

Он подразделяется на список выбора, список таблиц и необязательную часть отбора

SELECT список_выбора FROM список_таблиц условия_отбора;

Для выбора всех столбцов используется символ

*

Для исключения дублирующих строк используется ключевое слово DISTINCT

Столбцам в списке выбора можно задавать имена, указывая их после имен столбцов, или через ключевое слово AS, или заключая в двойные кавычки (во избежание совпадений с ключевыми словами)

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

© HAULMONT, 2012

Написание простейших запросов

4

SELECT * FROM имя_таблицы;

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

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

SELECT DISTINCT имя_столбца1 FROM имя_таблицы;

SELECT имя_столбца1, имя_столбца2, имя_столбца1 - имя_столбца2 AS новое_имя_столбца FROM имя_таблицы;

SELECT имя_столбца1, имя_столбца2, имя_столбца1 - имя_столбца2 "новое_имя_столбца " FROM имя_таблицы;

SELECT имя_столбца1, имя_столбца2, имя_столбца1 - имя_столбца2 новое_имя_столбца FROM имя_таблицы;

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

© HAULMONT, 2012

Примеры написания простейших

запросов

5

SELECT * FROM books;

SELECT name, author, price FROM books;

SELECT name, author, price- discounted_price FROM books;

SELECT DISTINCT author FROM books;

SELECT name, author, price- discounted_price AS discount FROM books;

SELECT name, author, price – discounted_price "discount" FROM books;

SELECT name, author, price- discounted_price discount FROM books;

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

© HAULMONT, 2012

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

6

Позволяет задать условия, по которым будут выбираться данные

Условий может быть несколько, они указываются с помощью логических операторов AND, OR, NOT

Внутри условий можно использовать операторы

При использовании операторов помните про приоритеты или расставляйте скобки ()

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

© HAULMONT, 2012

 

 

Операторы

7 =

Равно

Неравно

<>

 

<

 

Меньше

>

 

Больше

<=

 

Меньше или равно

>=

AND

Больше или равно

BEETWEEN

Входит в отрезок (включая)

IN (список)

Совпадает со значением списка

LIKE

 

Подходит под заданный

шаблон

 

(_ обозначает один

символ, %

 

 

обозначает ноль или более

cимволов)

Имеет значение null

IS NULL

 

(пустое)

 

 

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

© HAULMONT, 2012

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

WHERE

8 SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы WHERE условие;

SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы WHERE условие1 AND условие2;

SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы WHERE условие1 OR NOT (условие2);

SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы WHERE имя_столбца1 BETWEEN значение1 AND значение2;

SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы WHERE имя_столбца2 IN (значение1 , значение2);

SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы WHERE имя_столбца3 LIKE '_символ%';

SELECT имя_столбца1, имя_столбца2, имя_столбца3 FROM имя_таблицы WHERE имя_столбца2 IS NOT NULL;

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

© HAULMONT, 2012

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

предложения WHERE

9

SELECT name, author, price FROM books WHERE price<=500;

SELECT name, author, price FROM books WHERE price<=500 AND name='Hamlet';

SELECT name, author, price FROM books WHERE price<=500 OR NOT (name ='Hamlet');

SELECT name, author, price FROM books WHERE price BETWEEN 400 AND 550;

SELECT name, author, price FROM books WHERE price IN (300,600);

SELECT name, author, price FROM books WHERE name LIKE '_a%';

SELECT name, author, price, discounted_price FROM books WHERE discounted_price IS NOT NULL;

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

© HAULMONT, 2012

Сортировка

10

Данные, полученные в результате запроса, можно отсортировать

Для этого используется предложение ORDER BY

По умолчанию данные сортируются по возрастанию

Чтобы отсортировать по убыванию, используется ключевое слово DESC предложения ORDER BY

Возможна сортировка по нескольким столбцам

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

© HAULMONT, 2012

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