Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Определение условий выборки в предложении WHERE.Содержание книги
Поиск на нашем сайте
Cинтаксис предложения WHERE: WHERE < имя столбца> <оператор условия> < имя столбца>| <константа>| <список значений> Условия отбора, задаваемые в предложении WHERE, могут быть как простыми, так и сложными. Для задания сложных условий могут быть использованы предикаты OR и AND, которые в свою очередь можно сочетать в одном логическом выражении. Порядок выполнения операторов приведен ниже (см. Таблица 13). Изменение порядка выполнения операций осуществляется с помощью скобок. Таблица 13
Таблица 14
Пример 49 Задача. Вывести список студентов из таблицы Student, обучающихся в группе ИСТ-03. Решение. SELECT StName ФИО FROM Student St inner JOIN SGroup SG ON St.IDGroup =SG.IDGroup WHERE NameGroup= ‘ИСТ-03’; Результат реализации запроса: Как видно из предыдущего примера предложение WHERE может быть использовано для выполнения соединения INNER JOIN. Пример 50 Задача. Вывести имя преподавателя, у которого студенты имели оценки выше 3. Решение. SELECT TeacherName ФИО FROM Teacher, Progress WHERE Teacher.PIN=Progress.PIN AND Mark>3; Результат реализации запроса: Пример 51 Задача. Вывести имена преподавателей с указанных в списке кафедр. Решение. SELECT TeacherName ФИО FROM Teacher WHERE DeptName IN (‘ИСТ’, ‘АИС’); Здесь будут выведены все преподаватели кафедры ИСТ и АИС. Результат реализации запроса: Еще один достаточно часто используемый в запросах предикат, предикат BETWEEN работает с любыми типами данных, которые можно сравнивать. В определение включены конечные точки. Пример 52 Задача. Вывести имена преподавателей, оценивших хоть один раз работу студента оценкой 4 или 5. Решение. SELECT TeacherName ФИО FROM Teacher, Progress WHERE Teacher.PIN=Progress.PIN AND MARK BETWEEN 4 AND 5; Результат реализации запроса:
Пример 53 Задача. Вывести имена преподавателей, попадающие в указанный интервал. Решение. SELECT TeacherName FROM Teacher WHERE TeacherName BETWEEN ‘Калинина’ AND ‘Николаева’; Результат реализации запроса:
Пример 54 Задача. Вывести имена всех преподавателей, которые были приняты на работу в период с 1.12.2000 по 12.03.2001г. Решение. SELECT TeacherName ФИО FROM Teacher WHERE DateHire BETWEEN ‘09.01.2000’ AND ’12.31.2001’; Результат реализации запроса: Обратите внимание, что в запросе атрибут DateHire имеет следующий формат ‘ММ.ЧЧ.ГГГГ’. Предикат Like позволяет проверить соответствие той или иной строки заданному шаблону. Выражение перед ключевым словом like должно содержать строку. После ключевого слова Like должен стоять литерал, который и является шаблоном для проверки соответствия. Пример 55 Задача. Вывести имена студентов, начинающиеся на букву П. Решение. SELECT StName FRom Student Where StName Like 'П%' Результат реализации запроса:
Если в шаблоне надо указать знак % или знак подчеркивания по своему прямому назначению следует поместить их в квадратные скобки. Пример 56 Задача. Вывести имена студентов, содержащие букву ‘а’, в любой позиции начиная со второй. Решение. SELECT StName FRom Student Where StName Like '_%а%' Результат реализации запроса:
Пример 57 Задача. Вывести названия дисциплин, содержащие «пробел». Решение. SELECT NameSubject From Subject Where NameSubject Like '%[ ]%' Результат реализации запроса:
Пример 58 Задача. Вывести список преподавателей из таблицы Teacher, в фамилиях которых встречаются буквы из диапазона ‘э-я’, т.е. ‘э’, ‘ю’ или ‘я’. Решение. select TeacherName ФИО from Teacher where TeacerhName like '% [э-я]%' Результат реализации запроса: Задание 15 Вывести список преподавателей из таблицы Teacher, в фамилиях которых встречается буква ‘Ф’ и следующий за ней символ ‘.’. Задание 16 Вывести список преподавателей из таблицы Teacher, в фамилиях которых встречается буква ‘Ф’ и следующий за ней символ не «пробел». Большая группа запросов включает в себя условия с отрицанием. Существует множество способов задания отрицания (см.Таблица 15). Таблица 15
Пример 59 Задача. Вывести имена всех преподавателей, кроме преподавателей которые работают на кафедрах, указанных в списке. Решение. SELECT TeacherName ФИО FROM Teacher WHERE DeptName NOT IN (‘ИСТ’); Результат реализации запроса: Пример 60 Задача. Вывести имена и номера зачеток студентов, у которых не внесены оценки по тем или иным предметам. Для демонстрации примера вставим в таблицу Progress новую строку: Insert into Progress (NRecordBook, PIN, IDSubject, IDReport, NTerm) values(‘050004’, 2, 2, 1, ‘5’) Решение. SELECT DISTINCT Student.NRecordBook [№ зачётки], STname ФИО FROM Student, Progress WHERE Student.NRecordBook= Progress.NRecordBook AND Mark IS NULL; Результат реализации запроса: Пример 61 Задача. Вывести список имен и номеров зачеток студентов, имеющих хоть одну пятерку. Решение. SELECT DISTINCT Student.NRecordBook [№ зачётки],StName ФИО FROM Student, Progress WHERE Student.NRecordBook = Progress.NRecordBook AND Mark=5; Результат реализации запроса:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 262; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.124.123 (0.007 с.) |