Выбор записей по диапазону значений (Between)

Часть 3. Выбор строк с указанием критериев поиска (WHERE)

Предложение WHERE применяется для выбора записей, соответствующих определенным критериям. Критерий поиска состоит из одного или нескольких предикатов. Предикат задает проверку, выполняемую для каждой записи таблицы. Результат проверки может принимать одно из трех значений: «true», «false», «unknown». Команда извлекает для вывода только те строки из таблицы, для которых результат проверки равен «true». В таблице 1 приведен синтаксис различных видов сравнения.

Таблица 1

Точное совпадение значений одного из полей

Задание: вывести список названий издательств (поле Title_book) из таблицы Books, которые находятся в(поле Publish) из таблицы Publishing_house.

SELECT books.title_book, publishing_house.publish

FROM books INNERJOIN publishing_house

ON books.code_publish = publishing_house.code_publish

WHERE publishing_house.publish='Лань'

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

Задание:: Найти название книг, автором которых является Толстой

 

SELECT title_book

FROM books

WHERE code_author=(SELECT code_author

FROM authors

WHERE name_author='Толстой')

 

Этот запрос работает если вложенный подзапрос выдает одно число. Если в базе данных есть несколько записей, соответствующих фамилия писателя «Толстой» то запрос завершится с ошибкой в этом случае лучше использовать конструкцию In:

SELECT title_book

FROM books

WHERE code_author IN(SELECT code_author

FROM authors

WHERE name_author='Пушкин')

Точное несовпадение значений одного из полей

Задание: Вывести список названий издательств (поле Publish) из таблицы Publishing_house, которые не находятся в городе ‘Москва’ (условие по полю City).

 

SELECT Publish

FROM Publishing_house

WHERE City <>'Москва'

 

Самостоятельно:

· Вывести список названий книг (поле Title_book) из таблицы Books,которые выпущены любыми издательствами, кроме издательства ‘Питер-Софт’ (поле Publish из таблицы Publishing_house).

 

Выбор записей по диапазону значений (Between)

Задание: Вывести фамилии, имена, отчества авторов (поле Name_author) из таблицы Authors, у которых дата рождения (поле Birthday) находится в диапазоне 01.01.1840 – 01.06.1860.

 

SELECT name_author

FROM Authors

WHERE Birthday BETWEEN'01.01.1940'AND'01.01.1960'

 

Самостоятельно:

· Вывести список названий книг (поле Title_book из таблицы Books)и количество экземпляров (поле Amount из таблицы Purchases),которые были закуплены в период с 12.03.2003 по 15.06.2003 (условие по полю Date_order из таблицы Purchases).

· Вывести список названий книг (поле Title_book) и количество страниц (поле Pages) из таблицы Books, у которых объем в страницах укладывается в диапазон 200 – 300 (условие по полю Pages).

· Вывести список фамилий, имен, отчеств авторов (поле Name_author) из таблицы Authors, у которых фамилия начинается на одну из букв диапазона ‘В’ – ‘Г’ (условие по полю Name_author).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: