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

Выборка из таблицы с условием - предложение where

Предложение WHERE позволяет определить условие, которое может быть либо истинным, либо ложным для каждой строки таблицы. Команда SELECT извлекает только те строки из таблицы, для которых условие имеет значение “истина”. В этом предложении можно использовать реляционные операторы: =, <, >, <=, >=, <>. Для указания нескольких условий нужно использовать булевы операторы AND, OR, NOT.

Пример: Получить список студентов группы номер 2

SELECT Фамилия

FROM Студенты WHERE код_группы =2

 

Поиск подстрок – оператор like

Осуществляет просмотр строки для выяснения: входит ли заданная подстрока в указанное поле.

Пример : Получить список предметов, имеющих в названии слово "Анализ"

SELECT * FROM дисциплины WHERE название LIKE "*АНАЛИЗ*"

Контрольное задание

Найти всех студентов с фамилией Иванов и телефоном на 41.

Запросы с соединением

Таблицы соединяются по полям, имеющим одинаковую семантику, по одинаковому значению. Обычно соединяемые таблицы находятся в связи один-ко-многим. После того как таблицы соединены в одну таблицу, из нее производится выборка.

Простое соединение

Пример: вывести фамилии преподавателей и названий дисциплин, которые они ведут.

SELECT Фамилия, Название

FROM Преподаватели, Дисциплины

WHERE Дисциплины.код =Преподаватели.код_дисц

Соединение с условием отбора

Пример: Список преподавателей преподающих физкультуру.

SELECT Преподаватели.Фамилия, дисциплины.название

FROM преподаватели, дисциплины

WHERE дисциплины.код=преподаватели.код_дисц

AND дисциплины.название='Физкультура'

Контрольное задание

Вывести фамилии студентов, которые по какой-либо дисциплине получали оценку “5”.

Соединение 3-х и более таблиц

Соединение это обычно выполняется над таблицами со связью многие-ко-многим, или когда в условии отбора данных из двух связанных таблиц присутствуют данные из 3-ей таблицы.

Пример: получить список всех студентов с отметками по физике

SELECT студенты.фамилия, сессия.оценка

FROM студенты, сессия, дисциплины

WHERE студенты.код=сессия.код_студ

AND дисциплины.код = сессия.код_дисц

AND дисциплины.название ='физика'

Контрольное задание

Получить список групп, в которых преподает преподаватель Петров.(Или другой, какой есть в базе данных)

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

Подзапросы.

Цель работы: Получить представление о способах формирования подзапросов

Краткие теоретические сведения

SQL позволяет вкладывать запросы друг в друга. Обычно внутренний запрос генерирует значения, которые тестируются на предмет истинности условия внешнего запроса. Подзапрос должен возвращать множество таких объектов, к которым можно применить условие внешнего запроса.

Содержание работы

Выполните и сохраните следующие запросы.

Подзапросы с подмножеством

Пример: Получить информацию о студентах - задолжниках

SELECT *

FROM студенты

WHERE код IN

( SELECT код_студ

FROM сессия

WHERE оценка = 2 )

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