Реляционные операции. Команды языка манипулирования данными
Наиболее важной командой языка манипулирования данными является команда SELECT
Начнем с базовых операций реляционных баз данных. Таковыми являются:
выборка(Restriction)
проекция(Projection)
соединение(Join)
объединение(Union)
Операция выборки позволяет получить все строки (записи) либо часть строк одной таблицы.
SELECT * FROM country
Эти примеры иллюстрируют общую форму команды SELECT в языке SQL (для одной таблицы):
SELECT | (выбрать) специфицированные поля |
FROM | (из) специфицированной таблицы |
WHERE | (где) некоторое специфицированное условие является истинны |
Операция соединения позволяет соединять строки из более чем одной таблицы (по некоторому условию) для образования новых строк данных.
Операция объединения позволяет объединять результаты отдельных запросов по нескольким таблицам в единую результирующую таблицу. Таким образом, предложение UNION объединяет вывод двух или более SQL-запросов в единый набор строк и столбцов.
Для справки, приведем общую форму команды SELECT, учитывающую возможность соединения нескольких таблиц и объединения результатов:
SELECT | [DISTINCT] список_выбираемых_элементов (полей) |
FROM | список_таблиц (или представлений) |
[WHERE | предикат] |
[GROUP BY | поле (или поля) [HAVING предикат]] |
[UNION | другое_выражение_Select] |
[ORDER BY | поле (или поля) или номер (номера)]; |
Рис. 2: Общий формат команды SELECT
Отметим, что под предикатом понимается некоторое специфицированное условие (отбора), значение которого имеет булевский тип. Квадратные скобки означают необязательность использования дополнительных конструкций команды. Точка с запятой является стандартным терминатором команды. Отметим, что в WISQL и в компоненте TQuery ставить конечный терминатор не обязательно. При этом там, где допустим один пробел между элементами, разрешено ставить любое количество пробелов и пустых строк - выполняя желаемое форматирование для большей наглядности.
|
|
Команда SELECT
Простейшие конструкции команды SELECT
Итак, начнем с рассмотрения простейших конструкций языка SQL. После такого рассмотрения мы научимся:
назначать поля, которые должны быть выбраны
назначать к выборке "все поля"
управлять "вертикальным" и "горизонтальным" порядком выбираемых полей
подставлять собственные заголовки полей в результирующей таблице
производить вычисления в списке выбираемых элементов
использовать литералы в списке выбираемых элементов
ограничивать число возвращаемых строк
формировать сложные условия поиска, используя реляционные и логические операторы
устранять одинаковые строки из результата.
Список выбираемых элементов может содержать следующее:
|
|
имена полей
*
вычисления
литералы
функции
агрегирующие конструкции
Список полей
SELECT first_name, last_name, phone_no
FROM phone_list
получить список имен, фамилий и служебных телефонов всех работников предприятия
Все поля
SELECT *
FROM phone_list
получить список служебных телефонов всех работников предприятия со всей необходимой информацией
Все поля в произвольном порядке
SELECT first_name, last_name, phone_no,
location, phone_ext, emp_no
FROM phone_list
получить список служебных телефонов всех работников предприятия со всей необходимой информацией, расположив их в требуемом порядке
Вычисления
SELECT emp_no, salary, salary * 1.15
FROM employee
получить список номеров служащих и их зарплату, в том числе увеличенную на 15%
Порядок вычисления выражений подчиняется общепринятым правилам: сначала выполняется умножение и деление, а затем - сложение и вычитание. Операции одного уровня выполняются слева направо. Разрешено применять скобки для изменения порядка вычислений.
Литералы
Литералы - это строковые константы, которые применяются наряду с наименованиями столбцов и, таким образом, выступают в роли "псевдостолбцов". Строка символов, представляющая собой литерал, должна быть заключена в одинарные или двойные скобки.
|
|
SELECT first_name, "получает", salary,
"долларов в год"
FROM employee
получить список сотрудников и их зарплату
Конкатенация
Имеется возможность соединять два или более столбца, имеющие строковый тип, друг с другом, а также соединять их с литералами. Для этого используется операция конкатенации (||).
SELECT "сотрудник " || first_name || " " ||
last_name
FROM employee
получить список всех сотрудников
Дата добавления: 2020-01-07; просмотров: 199; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!