- Главная
- Информатика
- Язык SQL
Содержание
- 2. Достоинства: Повсеместная распространенность Быстрое обучение в простых случаях Связывание с различными языками программирования Поддержка ODBC и
- 3. Оператор выбора SELECT Язык запросов ( Data Query Language ) в SQL состоит из единственного оператора
- 4. В разделе GROUP BY задается список полей группировки. В разделе HAVING задаются предикаты-условия, накладываемые на каждую
- 5. По стандарту в шаблон могут быть включены специальные символы: -символ подчеркивания ( _ ) — для
- 6. Введение Null -значений вызвало необходимость модификации классической двузначной логики и превращения ее в трехзначную. Все логические
- 7. Предикаты существования EXIST и несуществования NOT EXIST . Эти предикаты относятся к встроенным подзапросам. SELECT —
- 8. Все последующие разделы оператора SELECT являются необязательными. Самый простой запрос SELECT без необязательных частей соответствует просто
- 9. Примеры Вывести список всех групп (без повторений), где должны пройти экзамены. R1= (ФИО, Дисциплина, Оценка); R
- 11. Скачать презентацию
Слайд 2Достоинства:
Повсеместная распространенность
Быстрое обучение в простых случаях
Связывание с различными языками
Достоинства:
Повсеместная распространенность
Быстрое обучение в простых случаях
Связывание с различными языками
![Достоинства: Повсеместная распространенность Быстрое обучение в простых случаях Связывание с различными языками](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-1.jpg)
программирования
Поддержка ODBC и JDBC
Фактор времени: научились хорошо реализовывать.
Недостатки:
Несоответствие реляционной модели данных (наличие дубликатов, необязательность первичного ключа, возможность упорядочения результатов)
Недостаточно продуманный механизм неопределенных значений
Сложность формулировок и громоздкость.
Литература
Базы данных: модели реализация / Т. С. Карпова. - СПб.: Питер, 2001. - 304 с.: ил.
Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для высших учебных заведений /Под. ред. проф. А. Д. Хомоненко. - СПб.: КОРОНА принт, 2000. - 416 с.
Поддержка ODBC и JDBC
Фактор времени: научились хорошо реализовывать.
Недостатки:
Несоответствие реляционной модели данных (наличие дубликатов, необязательность первичного ключа, возможность упорядочения результатов)
Недостаточно продуманный механизм неопределенных значений
Сложность формулировок и громоздкость.
Литература
Базы данных: модели реализация / Т. С. Карпова. - СПб.: Питер, 2001. - 304 с.: ил.
Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных: Учебник для высших учебных заведений /Под. ред. проф. А. Д. Хомоненко. - СПб.: КОРОНА принт, 2000. - 416 с.
Слайд 3Оператор выбора SELECT
Язык запросов ( Data Query Language ) в SQL состоит
Оператор выбора SELECT
Язык запросов ( Data Query Language ) в SQL состоит
![Оператор выбора SELECT Язык запросов ( Data Query Language ) в SQL](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-2.jpg)
из единственного оператора SELECT Этот единственный оператор поиска реализует все операции реляционной алгебры. Синтаксис оператора SELECT имеет следующий вид:
SELECT [ALL | DISTINCT] < список полей >|*)
FROM < Слисок таблиц >
[ WHERE < Предикат - условие выборки или соединения >]
[ GROUP BY < Список полей результата >]
[ HAVING < Предикат - условие для группы >]
[ ORDER BY < Список полей , по которым упорядочить вывод >]
Ключевое слово ALL означает, что в результирующий набор строк включаются все строки, удовлетворяющие условиям запроса. Значит, в результирующий набор могут попасть одинаковые строки. И это нарушение принципов теории отношений.
DISTINCT означает, что в результирующий набор включаются только различные строки, то есть дубликаты строк результата не включаются в набор. Символ *. означает, что в результирующий набор включаются все столбцы из исходных таблиц запроса. В разделе FROM задается перечень исходных отношений (таблиц) запроса. В разделе WHERE задаются условия отбора строк результата или условия соединения кортежей исходных таблиц
SELECT [ALL | DISTINCT] < список полей >|*)
FROM < Слисок таблиц >
[ WHERE < Предикат - условие выборки или соединения >]
[ GROUP BY < Список полей результата >]
[ HAVING < Предикат - условие для группы >]
[ ORDER BY < Список полей , по которым упорядочить вывод >]
Ключевое слово ALL означает, что в результирующий набор строк включаются все строки, удовлетворяющие условиям запроса. Значит, в результирующий набор могут попасть одинаковые строки. И это нарушение принципов теории отношений.
DISTINCT означает, что в результирующий набор включаются только различные строки, то есть дубликаты строк результата не включаются в набор. Символ *. означает, что в результирующий набор включаются все столбцы из исходных таблиц запроса. В разделе FROM задается перечень исходных отношений (таблиц) запроса. В разделе WHERE задаются условия отбора строк результата или условия соединения кортежей исходных таблиц
Слайд 4В разделе GROUP BY задается список полей группировки.
В разделе HAVING задаются
В разделе GROUP BY задается список полей группировки.
В разделе HAVING задаются
![В разделе GROUP BY задается список полей группировки. В разделе HAVING задаются](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-3.jpg)
предикаты-условия, накладываемые на каждую группу.
В части ORDER BY задается список полей упорядочения результата, то есть список полей, который определяет порядок сортировки в результирующем отношении.
Предикат вхождения в множество IN (множество) истинен тогда, когда сравниваемое значение входит в множество заданных значений. При этом множество значений может быть задано простым перечислением или встроенным подзапросом. Одновременно существует противоположный предикат NOT IN (множество), который истинен тогда, когда сравниваемое значение не входит в заданное множество.
Предикаты сравнения с образцом LIKE и NOT LIKE . Предикат LIKE требует задания шаблона, с которым сравнивается заданное значение, предикат истинен, если сравниваемое значение соответствует шаблону, и ложен в противном случае. Предикат NOT LIKE имеет противоположный смысл.
В части ORDER BY задается список полей упорядочения результата, то есть список полей, который определяет порядок сортировки в результирующем отношении.
Предикат вхождения в множество IN (множество) истинен тогда, когда сравниваемое значение входит в множество заданных значений. При этом множество значений может быть задано простым перечислением или встроенным подзапросом. Одновременно существует противоположный предикат NOT IN (множество), который истинен тогда, когда сравниваемое значение не входит в заданное множество.
Предикаты сравнения с образцом LIKE и NOT LIKE . Предикат LIKE требует задания шаблона, с которым сравнивается заданное значение, предикат истинен, если сравниваемое значение соответствует шаблону, и ложен в противном случае. Предикат NOT LIKE имеет противоположный смысл.
Слайд 5По стандарту в шаблон могут быть включены специальные символы:
-символ подчеркивания (
По стандарту в шаблон могут быть включены специальные символы:
-символ подчеркивания (
![По стандарту в шаблон могут быть включены специальные символы: -символ подчеркивания (](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-4.jpg)
_ ) — для обозначения любого одиночного символа;
-символ процента (%) — для обозначения любой произвольной последовательности символов;
-остальные символы, заданные в шаблоне, обозначают самих себя.
Предикат сравнения с неопределенным значением IS NULL. Это значение при появлении дополнительной информации в любой момент времени может быть заменено на некоторое конкретное значение. Для выявления равенства значения некоторого атрибута неопределенному применяют специальные стандартные предикаты:
< имя атрибута >IS NULL и < имя атрибута > IS NOT NULL. Если в данном кортеже (в данной строке) указанный атрибут имеет неопределенное значение, то предикат IS NULL принимает значение «Истина» ( TRUE ), а предикат IS NOT NULL — «Ложь» ( FALSE ), в противном случае предикат IS NULL принимает значение «Ложь», а предикат IS NOT NULL принимает значение «Истина».
-символ процента (%) — для обозначения любой произвольной последовательности символов;
-остальные символы, заданные в шаблоне, обозначают самих себя.
Предикат сравнения с неопределенным значением IS NULL. Это значение при появлении дополнительной информации в любой момент времени может быть заменено на некоторое конкретное значение. Для выявления равенства значения некоторого атрибута неопределенному применяют специальные стандартные предикаты:
< имя атрибута >IS NULL и < имя атрибута > IS NOT NULL. Если в данном кортеже (в данной строке) указанный атрибут имеет неопределенное значение, то предикат IS NULL принимает значение «Истина» ( TRUE ), а предикат IS NOT NULL — «Ложь» ( FALSE ), в противном случае предикат IS NULL принимает значение «Ложь», а предикат IS NOT NULL принимает значение «Истина».
Слайд 6Введение Null -значений вызвало необходимость модификации классической двузначной логики и превращения ее
Введение Null -значений вызвало необходимость модификации классической двузначной логики и превращения ее
![Введение Null -значений вызвало необходимость модификации классической двузначной логики и превращения ее](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-5.jpg)
в трехзначную. Все логические операции, производимые с неопределенными значениями, подчиняются этой логике в соответствии с заданной таблицей истинности:
Слайд 7Предикаты существования EXIST и несуществования NOT EXIST . Эти предикаты относятся к
Предикаты существования EXIST и несуществования NOT EXIST . Эти предикаты относятся к
![Предикаты существования EXIST и несуществования NOT EXIST . Эти предикаты относятся к](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-6.jpg)
встроенным подзапросам.
SELECT — ключевое слово, которое сообщает СУБД, что эта команда — запрос. Все запросы начинаются этим словом с доследующим пробелом. За ним может следовать способ выборки — с удалением дубликатов ( DISTINCT ) или без удаления ( ALL , подразумевается по умолчанию). Затем следует список перечисленных через запятую столбцов, которые выбираются запросом из таблиц, или символ '*' (звездочка) для выбора всей строки.
FROM — ключевое слово, подобно SELECT , которое должно быть представлено в каждом запросе. Оно сопровождается пробелом и затем именами таблиц, используемых в качестве источника информации. Таблицам можно присвоить имена-псевдонимы, что бывает полезно для осуществления операции соединения таблицы с самой собою или для доступа из вложенного подзапроса к текущей записи внешнего запроса
SELECT — ключевое слово, которое сообщает СУБД, что эта команда — запрос. Все запросы начинаются этим словом с доследующим пробелом. За ним может следовать способ выборки — с удалением дубликатов ( DISTINCT ) или без удаления ( ALL , подразумевается по умолчанию). Затем следует список перечисленных через запятую столбцов, которые выбираются запросом из таблиц, или символ '*' (звездочка) для выбора всей строки.
FROM — ключевое слово, подобно SELECT , которое должно быть представлено в каждом запросе. Оно сопровождается пробелом и затем именами таблиц, используемых в качестве источника информации. Таблицам можно присвоить имена-псевдонимы, что бывает полезно для осуществления операции соединения таблицы с самой собою или для доступа из вложенного подзапроса к текущей записи внешнего запроса
Слайд 8Все последующие разделы оператора SELECT являются необязательными.
Самый простой запрос SELECT без
Все последующие разделы оператора SELECT являются необязательными.
Самый простой запрос SELECT без
![Все последующие разделы оператора SELECT являются необязательными. Самый простой запрос SELECT без](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-7.jpg)
необязательных частей соответствует просто декартову произведению.
Например, выражение SELECT * FROM Rl, R 2
соответствует декартову произведению таблиц R 1 и R 2
Выражение
SELECT Rl.A, R2.B FROM Rl, R 2
соответствует проекции декартова произведения двух таблиц на два столбца А из таблицы R 1 и В из таблицы R 2, при этом дубликаты всех строк сохранены, в отличие от операции проектирования в реляционной алгебре, где при проектировании по умолчанию все дубликаты кортежей уничтожаются.
WHERE — ключевое слово, за которым следует предикат — условие, налагаемое на запись в таблице, которому она должна удовлетворять, чтобы попасть в выборку, аналогично операции селекции в реляционной алгебре.
Например, выражение SELECT * FROM Rl, R 2
соответствует декартову произведению таблиц R 1 и R 2
Выражение
SELECT Rl.A, R2.B FROM Rl, R 2
соответствует проекции декартова произведения двух таблиц на два столбца А из таблицы R 1 и В из таблицы R 2, при этом дубликаты всех строк сохранены, в отличие от операции проектирования в реляционной алгебре, где при проектировании по умолчанию все дубликаты кортежей уничтожаются.
WHERE — ключевое слово, за которым следует предикат — условие, налагаемое на запись в таблице, которому она должна удовлетворять, чтобы попасть в выборку, аналогично операции селекции в реляционной алгебре.
Слайд 9Примеры
Вывести список всех групп (без повторений), где должны пройти экзамены.
R1= (ФИО,
Примеры
Вывести список всех групп (без повторений), где должны пройти экзамены.
R1= (ФИО,
![Примеры Вывести список всех групп (без повторений), где должны пройти экзамены. R1=](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1041940/slide-8.jpg)
Дисциплина, Оценка); R 2 = (ФИО, Группа);
R3=(Группы, Дисциплина )
SELECT DISTINCT Группы FROM R3
Результат:
Вывести список студентов, которые сдали экзамен по дисциплине «Базы данных» на «отлично».
SELECT ФИО
FROM R 1
WHERE Дисциплина = " Базы данных " AND Оценка = 5
Вывести список всех студентов, которым надо сдавать экзамены с указанием названий дисциплин, по которым должны проводиться эти экзамены.
SELECT ФИО , Дисциплина
FROM R2.R3
WHERE R2.Группа =R 2.Группа
R3=(Группы, Дисциплина )
SELECT DISTINCT Группы FROM R3
Результат:
Вывести список студентов, которые сдали экзамен по дисциплине «Базы данных» на «отлично».
SELECT ФИО
FROM R 1
WHERE Дисциплина = " Базы данных " AND Оценка = 5
Вывести список всех студентов, которым надо сдавать экзамены с указанием названий дисциплин, по которым должны проводиться эти экзамены.
SELECT ФИО , Дисциплина
FROM R2.R3
WHERE R2.Группа =R 2.Группа
- Предыдущая
Актуальные тенденции моды в профессииСледующая -
Спецкурс. Философия помладше