Добавил:
rushevamar@mail.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD шпорки.doc
Скачиваний:
112
Добавлен:
17.06.2021
Размер:
4.62 Mб
Скачать
  1. Язык sql: использование подзапросов

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

SELECT *

FROM Студент

WHERE N_Группы IN(

SELECT N_группы

FROM Группа

WHERE факультет = ‘ИЭ’).

SELECT C.*

FROM Группа Г

INNER JOIN Студент С ON Г.N_группы = С.N_группы

WHERE Г факультет = ‘ИЭ’

SELECT *

FROM Экзамен

WHERE N_Зачетки IN(

SELECT N_зачетки

FROM Студент

WHERE N_группы = 372301).

ORDER BY предмет, N_зачетки

SELECT Э.экзамен, С.фамилия, Э.оценка

FROM студент C,

INNER JOIN Экзамен Э ON С.N_зачетки = Э.N_зачетки

WHERE Э оценка > (SELECT AVG (оценка) FROM Экзамен)

ORDER BY Э.предмет, С.фамилия

SELECT C.N.-группа, COUNT(*)

FROM студент C

INNER JOIN экзамен Э ON C.N-зачётки=Э.N.зачётки

WHERE Э.предмет= ‘теория систем’

AND Э.оценка>(SELECT AVG(ОЦЕНКА)

FROM экзамен

WHERE предмет=’теория систем’)

GROUP BY C.N. группы

HAVING COUNT(*)>=20

  1. Язык sql: операторы exists, any, all в командах с подзапросом

Оператор EXIST

Использует подзапрос в качестве аргумента и принимают значение ‘истина’ только в том случае, если подзапрос возвращает набор данных, содержащий хотя бы 1 строку.

Например:

SELECT*

FROM студент С

WHERE EXISTS(

SELECT*

FROM Экзамен Э

WHERE э.N.- зачётки= С.N.- зачётки AND ценка<=3.

Оператор ANY (SOME) перебирает все значения выдаваемые как истину, если хотя бы 1 из этих значений обеспечивает истинность предиката внешнего запроса

SELECT *

FROM Группа Г

WHERE 1992=ANY(SELECT год_рождения

FROM студент С

WHERE C.N.-группы=Г.N.-группы)

Оператор ALL

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

SELECT*

FROM Группа Г

WHERE 1992<=ALL (SELECT год-рождения

FROM студент С

WHERE C.N.-группы=Г.N.-группы)

  1. Язык sql: основные команды определения данных

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

  1. CREATE DATABASE (Эта команда создает новую базу данных)

CREATE DATABASE db_name;

  1. USE (Для того чтобы начать работу с таблицами, необходимо сообщить MySQL с какой базой данных вы намерены работать. Это осуществляется при помощи команды USE)

USE db_name;

  1. CREATE TABLE( создает новую таблицу в выбранной базе данных)

CREATE TABLE table_name [(create_definition, ...)]

  1. DESCRIBE( показывает структуру созданных таблиц)

DESCRIBE tаble_namе

  1. ALTER TABLE( позволяет изменить структуру таблицы. Эта команда позволяет добавлять и удалять столбцы, создавать и уничтожать индексы, переименовывать столбцы и саму таблицу)

ALTER TABLE table_name alter_spec

  1. DROP TABLE( для удаления одной или нескольких таблиц)

DROP TABLE table_name [ ,table_name,...]

  1. DROP DATABASE( удаляет базу данных со всеми таблицами входящими в её состав)

DROP DATABASE database_namе

  1. INSERT INTOVALUES(вставляет новые записи в существующую таблицу)

INSERT INTO table_name VALUES (values,…)

  1. DELETE(удаляет из таблицы table_name записи, удовлетворяющие заданным в definition условиям, и возвращает число удаленных записей.)

DELETE FROM table_name [WHERE definition]

  1. SELECT( предназначена для извлечения строк данных из одной или нескольких таблиц)

SELECT column,...

[FROM table WHERE definition]

[ORDER BY col_name [ASC | DESC], ...]

[LIMIT [offset], rows

  1. UPDATE (обновляет столбцы таблицы table в соответствии с их новыми значениями в строках существующей таблицы. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Ключевое слово LIMIT позволяет ограничить число обновляемых строк.

UPDATE table

SET col_name1=expr1 [, col_name2=expr2 ...

[WHERE definition]

  1. SHOW( получения списка баз данных и таблиц в выбранной базе данных)

Соседние файлы в предмете Базы данных