70092

Уточнение запроса

Лабораторная работа

Информатика, кибернетика и программирование

Для выделения требуемых записей (строк) исходной таблицы используется выражение, следующее за ключевым словом WHERE. Условия поиска в операторе WHERE являются логическими выражениями, т.е. принимающими одно из двух возможных значений – true...

Русский

2014-10-15

66.5 KB

1 чел.

2. Уточнение запроса

2.1. Секция WHERE

Основное выражение для выборки данных имеет вид:

SELECT списокСтолбцов

FROM списокТаблиц;

Такой запрос возвращает таблицу, полученную из указанной в операторе FROM путем выделения в ней только тех столбцов, которые определены в операторе SELECT.

Для выделения требуемых записей (строк) исходной таблицы используется выражение, следующее за ключевым словом WHERE. Условия поиска в операторе WHERE являются логическими выражениями, т.е. принимающими одно из двух возможных значений – true (ИСТИНА) или false (ЛОЖЬ).

Например, получим список всех книг о компьютерных технологиях. У этих книг поле subject_id равно 4. Соответственно в секцию WHERE включается оператор =, который проверяет это условие:

SELECT *

FROM books

WHERE subject_id = 4;

Выражение subject_id = 4 является истинным (имеет значение true), если в текущей записи таблицы значение столбца subject_id равно 4. В противном случае это выражение ложно (имеет значение false). Одно и то же логическое выражение может быть истинным для одних записей и ложным для других. В SQL логические выражения могут принимать еще и неопределенное значение. Это происходить тогда, когда в выражении некоторые элементы имеют значение NULL. Таким образом, SQL имеет дело не с классической двухзначной, а с трехзначной логикой.

Секция WHERE может содержать несколько условий, объединенных логическими операторами (например, AND или OR) и возвращающими одно логическое значение.

Например, получим все записи для книг о компьютерах, которые, кроме того, что они о компьютерах, написаны Марком Лутцем. Запрос уточняется объединением двух условий при помощи логического оператора AND:

SELECT title

FROM books

WHERE subject_id = 4 AND author_id = 7805;

Первое условие проверяет, что книга посвящена компьютерным технологиям (поле subject_id равно 4), а второе – что автором книги является Марк Лутц (поле author_id равно 7805). Объединение условий уменьшает объем итогового набора.

Получим все книги, посвященные компьютерным технологиям или искусству; в этом случае два условия объединяются логическим оператором OR.

SELECT title

FROM books

WHERE subject_id = 4 OR subject_id = 0;

Прежнее первое условие (книги по компьютерной тематике) объединяется со вторым условием: книги по искусству (поле subject_id равно 0). В результате объем итогового набора увеличивается, каждая его запись удовлетворяет хотя бы одному из этих условий.

Количество условий, объединяемых в секции WHERE, не ограничено, хотя при наличии двух и более условий обычно задается порядок выполнения сравнений при помощи круглых скобок.

2.2. Предикаты

При составлении логических выражений используются специальные ключевые слова и символы операций сравнения, которые называют предикатами. Наиболее часто используются предикаты сравнения, такие как (=), (<), (>), (<>), (<=) и (>=). Однако имеются и другие. Далее приведен список всех предикатов:

предикаты сравнения (=), (<), (>), (<>), (<=) и (>=);

between;

in, not in;

like, not like;

is null;

all, some, any;

exists;

unique;

distinct;

overlaps;

match;

similar.

2.2.1. Between

Предикат between позволяет задать выражение проверки вхождения какого-либо значения в диапазон, определяемый граничными значениями. Например,

WHERE cost between 100 and 150

Здесь ключевое слово AND представляет собой логический союз И. Граничные значения (в примере это 100 и 150) входят в диапазон. Причем первое граничное значение должно быть не больше второго.

Эквивалентным приведенному является выражение с предикатами сравнения:

WHERE cost >= 100 and cost <= 150

Кроме данных числового типа, в выражениях с between можно использовать данные следующих типов: символьные, битовые, даты-времени. Например, чтобы выбрать записи, в которых фамилии авторов находятся в диапазоне от A до G, можно использовать такое выражение:

SELECT first_name, last_name

FROM authors

WHERE last_name between 'A' and 'G';

2.2.2. IN и NOT IN

Предикаты IN и NOT IN применяются для проверки вхождения какого-либо значения в заданный список значений. Например, для выборки записей о книгах некоторой тематики можно использовать такое выражение:

SELECT title, author_id

FROM books

WHERE subject_id IN (7805, 0);

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

SELECT title, author_id

FROM books

WHERE subject_id NOT IN (7805, 0);

2.2.3. LIKE и NOT LIKE

Предикаты LIKE и NOT LIKE применяются для проверки частичного соответствия символьных строк. Например, столбец Телефон в некоторой таблице содержит полные номера телефонов, и требуется выбрать лишь те записи, в которых номера телефонов начинаются с 8112 или содержат такое сочетание цифр.

Критерий частичного соответствия задается с помощью двух символов-масок: знака процента (%) и подчеркивания (_). Знак процента означает любой набор символов, в том числе и пустой, а символ подчеркивания – любой одиночный символ.

Например, чтобы выбрать записи об изданиях, у которых isbn начинается с 044, можно использовать такое выражение:

SELECT isbn, edition, publication

FROM edition

WHERE isbn LIKE '044%';

Если требуется выбрать записи о книгах про Python, то для этого подойдет следующее выражение:

SELECT title, author_id

FROM books

WHERE title LIKE '%Python%';

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

SELECT title, author_id

FROM books

WHERE title NOT LIKE '%Python%';

2.2.4. SIMILAR

Предикат SIMILAR применяется для проверки частичного соответствия символьных строк. Эту же задачу можно решить и с помощью предиката LIKE, однако в ряде случаев SIMILAR более эффективен.

Пусть в некоторой таблице имеется столбец OC, содержащий названия операционных систем. Нужно выбрать записи, соответствующие Windows XP, Windows Vista и Windows 7. Тогда в выражении запроса можно использовать такой оператор WHERE:

WHERE ОС SIMILAR TO '(Windows (XP|Vista|7))';

2.2.5. IS NULL

Предикат IS NULL применяется для выявления записей, в которых тот или иной столбец не имеет значения. Например, для получения записей о жанрах, для которых не указано местоположение, можно использовать следующее выражение:

SELECT id, subject

FROM subjects

WHERE location IS NULL;

Для получения записей, в которых столбец location содержит некоторые определенные значения (т.е. отличные от NULL) можно использовать аналогичное выражение, но с логическим оператором NOT:

SELECT id, subject

FROM subjects

WHERE location IS NOT NULL;

Не следует использовать предикаты сравнения с NULL, такие как location = NULL.


Лабораторная работа 2

Выполнить следующие запросы к базе данных booktown:

  1.  Вся информация о переиздании (т.е. не первое издание, а второе и выше) книг, так чтобы сначала списка шли книги, выдержавшие наибольшее количество переизданий.
  2.  Вся информация об издании книг с типом h в порядке их публикации.
  3.  Информация об изданиях книг до XXI века.
  4.  Информация об имеющихся книгах на складе (stock). Отсортировать по убыванию количества, отсутствующие книги не выводить.
  5.  Кselect од ISBN и отпускная цена для книг с отпускной ценой в диапазоне от 20 до 30 в порядке возрастания цены.
  6.  Список покупателей, которых зовут Jean.
  7.  Код ISBN, имеющееся количество и отпускная цена для книг, имеющихся на складе в количестве, не меньшем 50, или с отпускной ценой, меньшей 20.
  8.  Код ISBN, тип обложки и дата издания для книг в мягкой (бумажной) обложке, изданных в период с 1990 по 2010 гг. Упорядочить по дате издания.
  9.  Код ISBN, номер издания и дата издания для книг, изданных впервые или в XXI веке.
  10.  Названия книг, написанных автором с кодом 1809 по теме с кодом 15.
  11.  Код ISBN и дата покупки для покупок в период с 10-го по 15 августа 2001 года. Отсортировать по дате покупки.
  12.  Названия книг и коды авторов для книг, написанных авторами с кодами 1809, 7805, 1212, 15990 и 25041. Упорядочить по коду автора.
  13.  Названия книг и коды авторов для книг, написанных авторами, чьи номера не 1809, 7805, 1212, 15990 и 25041. Упорядочить по коду автора.
  14.  Название темы и отдел для тем, расположенных в отделах Main St, Black Raven Dr, Productivity Ave и Creativity St. Отсортировать по названию темы.
  15.  Фамилия и имя авторов, имена которых начинаются на Marg.
  16.  Названия книг, в которых присутствует предлог in.
  17.  Названия книг, в которых присутствует The или the.
  18.  Названия книг, в которых нет ни The, ни the.
  19.  Фамилии авторов, чьи имена не известны.
  20.  Код темы, название темы и отдел для тем с кодом, большим 10, и известным отделом.

 


 

А также другие работы, которые могут Вас заинтересовать

32501. МЕТОДЫ И ПРИЕМЫ ФОРМИРОВАНИЯ СИСТЕМНО-НАУЧНЫХ ПОНЯТИЙ НА УРОКАХ ИНФОРМАТИКИ И ВО ВНЕУРОЧНОЕ ВРЕМЯ 48 KB
  Теория и методика обучения информатики МЕТОДЫ И ПРИЕМЫ ФОРМИРОВАНИЯ СИСТЕМНОНАУЧНЫХ ПОНЯТИЙ НА УРОКАХ ИНФОРМАТИКИ И ВО ВНЕУРОЧНОЕ ВРЕМЯ. Методы и приемы формирования системноинформационных понятий на уроках информатики и во внеурочной работе со школьниками Философские аспекты современного школьного курса информатики Проблема существования и бытия человека в полностью технизированном и информатизированном мире не могла не занимать философов что вызвало к жизни концепцию информационного общества. Пропедевтика методов системного анализа...
32502. ОБЩИЕ МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПРИ ИЗУЧЕНИИ ИНФОРМАТИКИ, МЕТОДЫ ОБУЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ ИНФОРМАЦИОННО-КОММУНИКАЦИОННЫХ ТЕХНОЛОГИЙ 84.5 KB
  Теория и методика обучения информатики ОБЩИЕ МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПРИ ИЗУЧЕНИИ ИНФОРМАТИКИ МЕТОДЫ ОБУЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ ИНФОРМАЦИОННО-КОММУНИКАЦИОННЫХ ТЕХНОЛОГИЙ. Общие методические рекомендации и принципы обучения информатике. Принцип освоения методики самообучения. Методы обучения с использованием ИКТ Методы обучения – система взаимодействия преподавателя и обучаемого с использованием ИКТ обеспечивающая усвоение образовательной программы.
32503. ОРГАНИЗАЦИЯ ПРОВЕРКИ И ОЦЕНКИ РЕЗУЛЬТАТОВ ОБУЧЕНИЯ. ПРИНЦИПЫ ПОСТРОЕНИЯ СИСТЕМЫ И ХАРАКТЕРИСТИКА МЕТОДОВ КОНТРОЛЯ. ОСНОВНЫЕ ФОРМЫ КОНТРОЛЯ. МОДЕЛЬ НЕПРЕРЫВНОГО КОНТРОЛЯ. ШКАЛЫ ОЦЕНОК 92.5 KB
  ПРИНЦИПЫ ПОСТРОЕНИЯ СИСТЕМЫ И ХАРАКТЕРИСТИКА МЕТОДОВ КОНТРОЛЯ. ОСНОВНЫЕ ФОРМЫ КОНТРОЛЯ. МОДЕЛЬ НЕПРЕРЫВНОГО КОНТРОЛЯ. В ходе контроля оценивается степень и уровень обученности.
32504. ПРЕПОДАВАНИЕ ПРОПЕДЕВТИЧЕСКОГО КУРСА ИНФОРМАТИКИ В НАЧАЛЬНЫХ КЛАССАХ СРЕДНИХ УЧЕБНЫХ ЗАВЕДЕНИЙ 58 KB
  Целью курса информатики в начальной школе является формирование первоначальных базовых понятий информатики что обеспечит дальнейшее создание информационной картины мира представлений о свойствах информации способах работы с ней формирование представления о компьютере как универсальной информационной машине развитие информационной культуры ребенка и интеллектуальных способностей учащихся. В соответствии с целями обучения информатике в начальной школе выделяется ряд задач на которые нужно опираться при проведении уроков информатики в...
32505. ПРЕПОДАВАНИЕ БАЗОВОГО КУРСА ИНФОРМАТИКИ В СРЕДНИХ УЧЕБНЫХ ЗАВЕДЕНИЯХ 47 KB
  Среди них: теория информации теория алгоритмов теоретическая кибернетика математическое и информационное моделирование дискретная математика искусственный интеллект и др. К аппаратным средствам относятся компьютеры технические средства хранения и отображения информации передачи данных по сетям. Она заключается в формировании представлений об информации информационных процессах как одного из трех основополагающих понятий: вещества энергии информации на основе которых строится современная научная картина мира. В этом отношении...
32506. МЕТОДИКА ИЗУЧЕНИЯ СОДЕРЖАТЕЛЬНОЙ ЛИНИИ: «ИНФОРМАЦИЯ И ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ». 83 KB
  Ключевыми вопросами данной содержательной линии являются: определение информации; измерение информации; хранение информации; передача информации; обработка информации. Проблемы определения и измерения информации Нельзя дать единого универсального определения информации. Но в науке и в практике известны различные подходы к информации и в рамках каждого из них дается определение этого понятия Субъективный подход. При раскрытии понятия информация с точки зрения субъективного бытового человеческого подхода следует отталкиваться...
32507. МЕТОДИКА ИЗУЧЕНИЯ СОДЕРЖАТЕЛЬНОЙ ЛИНИИ: «АРИФМЕТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРА» 63.5 KB
  Система счисления это определенный способ представления чисел и соответствующие ему правила действия над числами. Римский способ записи чисел является примером непозиционной системы счисления а арабский это позиционная система счисления. Позиционных систем счисления существует множество и отличаются они друг от друга алфавитом множеством используемых цифр. Размер алфавита число цифр называется основанием системы счисления.
32508. МЕТОДИКА ИЗУЧЕНИЯ СОДЕРЖАТЕЛЬНОЙ ЛИНИИ: «КОМПЬЮТЕР» 142 KB
  Одна из содержательных линий базового курса информатики линия компьютера. Линия компьютера проходит через весь курс и по двум целевым направлениям: 1 теоретическое изучение устройства принципов функционирования и организации данных в ЭВМ; 2 практическое освоение компьютера; получение навыков применения компьютера для выполнения различных видов работы с информацией. Представление данных в компьютере Информация хранимая в памяти компьютера и предназначенная для обработки называется данными. Для представления всех видов данных в памяти...
32509. МЕТОДИКА ВВЕДЕНИЯ ПОНЯТИЯ АЛГОРИТМИЗАЦИЯ С ПОМОЩЬЮ УЧЕБНЫХ ИСПОЛНИТЕЛЕЙ 134.5 KB
  Основной характеристикой исполнителя с точки зрения управления является система команд исполнителя СКИ. Схема функционирования исполнителя алгоритмов Для выполнения всякой работы решения поставленной задачи исполнитель на входе получает алгоритм и исходные данные а на выходе получаются требуемые результаты. Всякая команда должна быть сформулирована так чтобы определить однозначное действие исполнителя. Работа исполнителя состоит в последовательном выполнении команд алгоритма.