Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Select distinct тип



FROM ЛЕКЦІЯ

Без модифікатора DISTINCT ми одержали б список із кількох сотень рядків (його довжина дорівнювала б кількості всіх лекцій). Весь запит можна розмістити в одному рядку.

Перевизначення імен стовпців. Фраза SELECT надає можливість перевизначити імена стовпців кінцевої таблиці. Для цього після імені стовпця вихідної таблиці необхідно зазначити ім'я стовпця кінцевої таблиці. Наприклад, у наведеному запиті перевизначаються імена обох стовпців:

SELECT Назва AS Назва_факультету, Декан AS Декан_факультету

FROM ФАКУЛЬТЕТ

Уточнення імен полів. У фразі SELECT імена стовпців можна уточнювати іменами таблиць. Якщо в поєднуваних таблицях є стовпці, що мають однакові імена, то посилаючись на такий стовпець у запиті, його ім'я потрібно уточнювати іменем таблиці.

SELECT Група.Код_групи, Назва_Групи, Оцінки.Код_групи, ОЦ_Мат

FROM ГРУПА, Оцінки

Умова вибирання. Для запису умови вибирання використовується фраза WHERE. У ній зазначено, якій умові мають відповідати вихідні дані. Алгоритм обробки запиту з фразою WHERE є таким:

- вибрати рядок із таблиці;

- перевірити його відповідність вказаній умові;

- якщо рядок відповідає умові, то вивести значення стовпців, вказаних у фразі SELECT.

Цей запит виводить список усіх професорів вузу:

SELECT Прізвище

FROM ВИКЛАДАЧ

WHERE Посада = "професор"

Вирази, умови та оператори. У мові SQL існує багато різновидів виразів, у яких використовуються дані різних типів — рядки, числа, логічні значення.

Умова — це вираз, що повертає логічне значення — TRUE чи FALSE. Умовні вирази обов'язково використовуються у фразі WHERE, а також можуть застосовуватися в інших фразах, наприклад SELECT. Прикладом умовного виразу є конструкція Посада = <професор>.

Оператори — це конструкції, що використовуються у виразах для означення певних дій над даними. Є кілька типів операторів:

- арифметичні, +, -,*,/.

- оператори над рядками, Оператор зчеплення рядків ||.

- логічні, AN, OR, NOT

- теоретико-множинні, UNION, INTERSECT, EXCEPT (або MINUS).

- оператори порівняння, >, <, =, <>, >=, <=.

Оператори порівняння, їхнє призначення та приклади наведено в табл. 2.1.

Таблиця 2.1 Оператори порівняння

оператор призначення Приклад
= Перевірка на рівність SELECT * FROM КАФЕДРА WHERE Фонд = 1500
!=, <> Перевірка на нерівність SELECT * FROM КАФЕДРА WHERE Фонд!= 1500
>, < Перевірка, чи одне значення більше або менше іншого SELECT * FROM КАФЕДРА WHERE Фонд > 1500 SELECT * FROM КАФЕДРА WHERE Фонд < 1500
>=, <= Перевірка, чи одне значення не менше або не більше іншого SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд >= 1500 SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд <= 1500
IN Перевірка на належність множині SELECT * FROM ВИКЛАДАЧ WHERE Посада IN ("професор"."доцент") SELECT * FROM ВИКЛАДАЧ WHERE ПосадаIN (SELECT ПосадаFROM ВИКЛАДАЧWHERE tel tel="5261815")
NOT IN Еквівалентний!=ALL. Перевірка на неналежність елементу множині SELECT * FROM ВИКЛАДАЧ WHERE ПосадаNOT IN (SELECT ПосадаFROM ВИКЛАДАЧWHERE tel =”23456”)

Уточнення імен стовпців. У фразах SELECT і WHERE імена стовпців можна уточнювати іменами таблиць. Якщо в поєднуваних таблицях є стовпці, що мають однакові імена, то посилаючись на такий стовпець у запиті, його ім'я потрібно уточнювати іменем таблиці.

Стовпці, що обчислюються. У фразі SELECT можна сформувати новий стовпець. У ньому записуватимуться результати обчислення виразу, в якому використовуються значення з інших стовпців таблиць, що з'єднуються. Наведений нижче запит видає дані про всі кафедри факультету інформатики разом з їхніми фондами та інформацією про те, яку частку становить фонд кафедри від загального фонду факультету.

SELECT d.Назва, d. Фонд, (d. Фонд / f.Фонд) * 100

FROM ФАКУЛЬТЕТ f, КАФЕДРА d

WHERE f.F = d.F AND F.Назва = "інформатики"

Використання агрегатних функцій. Агрегатними називаються функції, які обчислюють різні статистичні характеристики. Розглянемо деякі з них:

COUNT – повертає кількість рядків у таблиці

SUM – повертає суму всіх значень у стовпці

AVG – повертає середнє арифметичне всіх значень у стовпці

MAX- повертає найбільше значення у стовпці

MIN - повертає найменше значення у стовпці

Окрім COUNT(*), кожна з цих функцій оперує як аргументом сукупністю значень стовпця певної таблиці та повертає єдине значення.

Приклад запиту: Знайти кількість рядків таблиці Дисципліна

SELECT COUNT(*)

FROM : Дисципліна

Стовпець-аргумент – це стовпець віртуальної таблиці, в якій можуть міститися дані не лише зі стовпця базової таблиці, але і отримані шляхом функціонального перетворення та-або зв’язування символами арифметичних операцій значень з одного або декількох стовпців. Вирази, що визначають стовпець такої таблиці, мають різний рівень складності, але не можуть містити інших агрегатних функцій. Функції можуть входити до складу виразів.

2 Питання вхідного контролю

1 Які можливості надає мова SQL?

2 Як можна вивести всі стовпці таблиці?

3 Як можна вивести задані стовпці таблиці?

4 Після якої фрази пишемо імена таблиць?

5 Який модифікатор використовується для виключення дублікатів рядків?

6 Наведіть приклади операторів порівняння в запитах на мові SQL?

7 Після якої фрази задається умова вибирання записів?





Дата публикования: 2014-12-25; Прочитано: 514 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...