Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания ИПС новая1.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1.34 Mб
Скачать

5.Общие сведения об sql. Простейшие sql-запросы.

SQL означает Структурированный Язык Запросов (Structured Query Language). Это — язык, который дает возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации, сохраняемой в таблицах.

SQL предназначен для работы только с реляционными БД. С помощью этого языка можно создавать структуру БД, создавать реляционные таблицы, заполнять данными таблицы, манипулировать данными, извлекать информацию из БД, создавать представления, защищать БД от несанкционированного доступа, представлять права и полномочия, администрировать БД и т. д. Все это делается с помощью команд SQL. Наиболее часто используемой командой SQL яв-ся запрос.

Запрос – это команда, которая формируется для СУБД и требует представить определенную информацию. Вообще говоря, такие запросы называются запросами на извлечение информации. Но существуют запросы на создание таблицы, на создание структуры БД, на удаление таблицы и т.д.

Запросы на выборку из базы данных строятся с помощью единственного оператора Select. В этом операторе, кроме того, могут присутствовать при необходимости уточняющие предложения: Where, Group by, Having, Order by. Но использование уточняющего предложения From обязательно.

Для построения SQL- запросов, рассмотрим базу данных, которая моделирует сдачу сессии в некотором учебном заведении. Пусть она состоит из 3 отношений R1, R2, R3 соответственно.

R1 (ФИО, Дисциплина, Оценка); R2 (ФИО, Группа); R3 (Группа, Дисциплина).

ФИО

Дисциплина

Оценка

Гаджиев

МАП

4

Грушев

МАП

5

Грушев

БД

5

Иванов

ИПС

5

Иванов

БД

3

Ивлев

МАП

3

Ивлев

ОС

3

Петров

ИПС

3

Петров

МАП

5

Петров

БД

5

R1: R2: R3

ФИО

Группа

Гаджиев

3941

Грушев

3031

Иванов

3941

Ивлев

3921

Петров

3931

Группа

Дисциплина

3931

БД

3931

ИПС

3931

МАП

3941

МАП

3941

ИПС

3941

БД

3031

ОС

3031

БД

3031

МАП

3921

МАП

Приведем несколько примеров оператора Select.

  • Вывести список всех групп (без повторений), где должны пройти экзамены:

Select Distinct Группа

From R3;

  • Вывести список студентов, которые сдали экзамен по дисциплине “БД” на “отлично”

Select ФИО

From R1

Where Дисциплина=”БД” and Оценка=5

  • Вывести список студентов, которые обучаются не в группах 3941 и 3931

SELECT ФИО

FROM R2

WHERE Группа Not In (3941,3931);

  • Вывести список всех студентов, которым надо сдавать экзамены с указанием названий дисциплин, по которым должны проводиться эти экзамены

Select R2.ФИО, R3.Дисциплина

From R2, R3

Where R2.Группа=R2.Группа;

  • Список студентов, имеющих несколько двоек

Select distinct a.ФИО

From R1 as a, R1 as b

Where (a.ФИО=b. ФИО) and (a.Дисциплина<>b.Дисциплина) and (a.Оценка=2) and

(b.Оценка=2);