Главная страница
Навигация по странице:

  • 15. Язык запросов DQL. Оператор выбора SELECT.

  • Синтаксис оператора SELECT

  • GROUP BY

  • ORDER BY

  • {=, , >, =,<=}

  • NOT IN (множество

  • Ответы к экзамену по БД. 1. Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi). 3


    Скачать 2.24 Mb.
    Название1. Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi). 3
    АнкорОтветы к экзамену по БД
    Дата08.11.2022
    Размер2.24 Mb.
    Формат файлаdocx
    Имя файлаVoprosy-otvety_BD_ekzamen.docx
    ТипДокументы
    #776756
    страница6 из 14
    1   2   3   4   5   6   7   8   9   ...   14

    13. Операторы описания данных (DDL).



    14. Операторы манипулирования данными (DML).




    15. Язык запросов DQL. Оператор выбора SELECT.




    Язык запросов (Data Query Language) в SQL состоит из единственного оператора SELECT. Этот единственный оператор поиска реализует все операции реляционной алгебры.

    Синтаксис оператора SELECT имеет следующий вид:

    SELECT [ALL | DISTINCT ]

    *|имя_столбца [AS новое_имя] [,...n]

    FROM имя_таблицы [[AS] псевдоним] [,...n]

    [WHERE <условие_поиска>]

    [GROUP BY имя_столбца [,...n]]

    [HAVING <критерии выбора групп>]

    [ORDER BY имя_столбца [,...n]]

    Здесь ключевое слово ALL означает, что в результирующий набор строк включаются все строки, удовлетворяющие условиям запроса.

    Ключевое слово DISTINCT означает, что в результирующий набор включаются только различные строки, то есть дубликаты строк результата не включаются в набор.

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

    В разделе FROM задается перечень исходных отношений (таблиц) запроса.

    В разделе WHERE задаются условия отбора строк результата или условия соединения кортежей исходных таблиц, подобно операции условного соединения в реляционной алгебре.

    В разделе GROUP BY задается список полей группировки.

    В разделе HAVING задаются предикаты-условия, накладываемое на каждую группу.

    В части ORDER BY задается список полей упорядочения результата.

    16. Предикаты раздела WHERE.


    В разделе WHERE задаются условия отбора строк результата или условия соединения кортежей исходных таблиц, подобно операции условного соединения в реляционной алгебре.

    В разделе GROUP BY задается список полей группировки.

    В разделе HAVING задаются предикаты-условия, накладываемое на каждую группу.

    В части ORDER BY задается список полей упорядочения результата.

    В выражении условий раздела WHERE м.быть использованы следующие предикаты:

    • Предикаты сравнения {=, <>, >,<, >=,<=}, которые имеют традиционный смысл.

    • Предикат Between A and В — принимает значения между А и В. Предикат истинен, когда сравниваемое значение попадает в заданный диапазон, включая границы диапазона. В стандарте задан и противоположный предикат Not Between A and В, который истинен тогда, когда сравниваемое значение не попадает в заданный интервал, включая его границы.

    • Предикат вхождения в множество IN (множество) истинен тогда, когда сравниваемое значение входит в множество заданных значений. При этом множество значений может быть задано простым перечислением или встроенным подзапросом. Существует противоположный предикат NOT IN (множество).

    • Предикаты сравнения с образцом LIKE и NOT LIKE. Предикат LIKE требует задания шаблона, с которым сравнивается заданное значение, предикат истинен, если сравниваемое значение соответствует шаблону, и ложен в противном случае. Предикат NOT LIKE имеет противоположный смысл.

    По стандарту в шаблон могут быть включены специальные символы:

    • символ подчеркивания (_) — для обозначения любого одиночного символа;

    • символ процента (%) — для обозначения любой произвольной последовательности символов;

    • остальные символы, заданные в шаблоне, обозначают самих себя.

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

    <имяатрибута>IS NULL и <имяатрибута> IS NOT NULL.

    Если в данной строке указанный атрибут имеет неопределенное значение, то предикат IS NULL принимает значение «Истина» (TRUE), а предикат IS NOT NULL — «Ложь» (FALSE), в противном случае предикат IS NULL принимает значение «Ложь», а предикат IS NOT NULL принимает значение «Истина».

    • Предикаты существования EXIST и несуществования NOT EXIST. Эти предикаты относятся к встроенным подзапросам, и подробнее мы рассмотрим их, когда коснемся вложенных подзапросов.


    1   2   3   4   5   6   7   8   9   ...   14


    написать администратору сайта