- •Лекция 6 команды категории извлечения данных структурированного языка запросов sql
- •Выборка определенных столбцов таблицы
- •Устранение избыточных данных
- •Устранение избыточных данных
- •Пример 3. Выбрать сведения о сотрудниках отдела о100, индивидуальный коэффициент которых выше 1,5.
- •Объединение записей в многотабличном запросе в субд access (sql ядра Jet).
- •Специальные операторы в условиях (in, between, like)
- •Пример 8. Выбрать сведения о сотрудниках, принятых на работу в период с 2000 по 2005 годы, оклады которых находятся в пределах от до 250 000 до 500000 ден. Ед.
Специальные операторы в условиях (in, between, like)
Оператор IN. Определяет множество, элементы которого перечисляются в круглых скобках и разделяются запятыми. Если в поле, имя которого указано слева от IN, есть одно из перечисленных в списке значений (требуется точное совпадение), то предикат считается истинным.
Пример 7.
Выберем сведения о сотрудниках отделов O101, O105, О106 с выводом названия отдела.
1 способ |
SELECT [Название отдела], [Код отдела], ФИО, Стаж FROM Отделы, Штаты WHERE Отделы.[Код отдела] = Штаты.[Код отдела] AND [Код отдела]="О101" OR [Код отдела]="О105" OR [Код отдела]="О106"; |
2 способ |
SELECT [Название отдела], Штаты.[Код отдела], ФИО, Стаж FROM Отделы, Штаты WHERE Отделы.[Код отдела] = Штаты.[Код отдела] AND Штаты .[Код отдела]= IN("О101","О105","О106"); |
Результат:
Название отдела |
Код отдела |
ФИО |
Стаж |
Бухгалтерия |
О101 |
Баркун С.П. |
01.01.1995 |
Бухгалтерия |
О101 |
Мируца Ф.И. |
01.12.1992 |
Бухгалтерия |
О101 |
Мирош С.М. |
01.12.1992 |
Снабжения |
О105 |
Нагар Т.Р. |
01.09.1998 |
Снабжения |
О105 |
Мянд Л.Б. |
01.09.1998 |
Снабжения |
О105 |
Шуст Н.А. |
01.09.2000 |
Маркетинга |
О106 |
Колос П.Л. |
01.10.1998 |
Маркетинга |
О106 |
Протас Е.Д. |
01.10.1998 |
Маркетинга |
О106 |
Нагар И.Т. |
01.01.2003 |
Оператор BETWEEN. Сходен с IN. Вместо перечисления элементов в множестве, как это делается в IN, BETWEEN задает границы, в которые должно попадать значение, чтобы предикат был истинным. Используется ключевое слово BETWEEN, за которым следует начальное значение, ключевое слово AND и конечное значение. BETWEEN требует: первое значение в предложении должно быть первым в соответствии с алфавитным или числовым порядком.
Оператор BETWEEN является включающим, т.е. граничные условия входят в диапазон и делают предикат истинным. Для того, чтобы исключить граничные условия, можно, к примеру, в одном выражении с BETWEEN использовать конструкцию NOT IN.
Пример 8. Выбрать сведения о сотрудниках, принятых на работу в период с 2000 по 2005 годы, оклады которых находятся в пределах от до 250 000 до 500000 ден. Ед.
SELECT ФИО, Должность, Стаж, [Индивидуальный коэффициент], Оклад
FROM Должности, Штаты
WHERE Должности.[Код должности] = Штаты.[Код должности]
AND Стаж Between #1/1/2000# And #12/31/2005#
AND Оклад Between 250000 And 500000;
ФИО |
Должность |
Стаж |
Индивидуальный коэффициент |
Оклад |
Синяк О.М. |
Секретарь-референт |
05.01.2000 |
1,5 |
450000 |
Грибут Т.Н. |
Психолог |
20.09.2000 |
1,3 |
468000 |
Колос В.П. |
Техник |
01.11.2000 |
1,2 |
312000 |
Муха Р.М. |
Техник |
01.10.2001 |
1,2 |
312000 |
Штуцер П.Д. |
Техник |
01.01.2002 |
1,2 |
312000 |
Горина Т.А. |
Техник |
01.08.2003 |
1,1 |
286000 |
Шуст Н.А. |
Техник |
01.09.2000 |
1,1 |
286000 |
Нагар И.Т. |
Техник |
01.01.2003 |
1,1 |
286000 |
Оператор LIKE. LIKE применим только к полям типа CHAR, поскольку он используется для поиска подстрок. Т.е. этот оператор осуществляет просмотр строки для выяснения входит ли заданная подстрока в указанное поле. С этой целью используются шаблоны Символ «подчеркивания» ( _ ), Символ процент ( % ) – специальные символы, которые могут заменить собой определенные комбинации из других символов.
Пример 9. Выбрать сведения о сотрудниках, производственного отдела, фамилии которых начинаются на букву С.
SELECT [Название отдела], ФИО, Должность,Адрес
FROM Должности, Отделы, Штаты
WHERE Отделы.[Код отдела] = Штаты.[Код отдела] AND Должности.[Код должности] = Штаты.[Код должности] AND
[Название отдела]="производственный" AND ФИО Like "С*";
Название отдела |
ФИО |
Должность |
Адрес |
Производственный |
Стокин Д.Д. |
Энергетик |
Витебск, Бровки 5-124 |
Производственный |
Стриж А.Л. |
Главный инженер |
Витебск, горького 12-13 |
1 Вставить Пример 5 Запрос не менее 10 лет с Year(Стаж)