АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Вибирання даних

Читайте также:
  1. А.1. Вімоги до даних
  2. Аналіз даних
  3. Аналіз метеорологічних даних регіону та його сировинної бази
  4. База даних для роботи з Project Expert
  5. База даних як складова інформаційної системи
  6. Бази даних. Основні відомості
  7. Бланк обробки даних
  8. Введення метеоданих (SET T.P)
  9. Ввод даних в програмі KSTAT
  10. Ведення даних для створення плакату
  11. Визначення рівня доступу до баз даних Lotus Notes.

В SQL є єдиний оператор, який призначено для вибирання даних з бази даних. Як і оператори INSERT, DELETE і UP­DATE він відноситься до підмножини DML.

Нижче наведено майже повний синтаксис оператора SELECT. SELECT [DISTINCT | ALL]

{* <величина> [, <величина>...]}

[INTO:Змінна [,:Змінна...]]

FROM <tableref> [, <tableref>...]

[WHERE <умова пошуку>]

[GROUP BY Колонка [, Колонка...] ]

[HAVING <умова пошуку>]

[UNION [ALL] <select_expr>]

[ORDER BY <список сортування>];

<величина> = {Колонка |:Змінна | <константа>

|<вираз> | <функція>

| udf ([<величина> [, <величина>...]])

| NULL | USER} [AS Псевдонім]

<константа> = Число | 'Рядок'

<вираз> = SQL вираз, що повертає одиничне значення

<функция> =

COUNT (* | [ALL] <величина> | DISTINCT <величина>)

|SUM ([ALL] <величина> | DISTINCT <величина>)

|AVG ([ALL] <величина> | DISTINCT <величина>)

|MAX ([ALL] <величина> | DISTINCT <величина>)

|MIN ([ALL] <величина> | DISTINCT <величина>)

|CAST (<величина> AS <тип даних>)

|UPPER(<величина>)

|GEN_ID(Імя_Генератора, <величина>)

<tableref> = {<joined_table> | table | view

| procedure[(<величина> [, <величина>...])]} [Псевдонім]

<joined_table> = <tableref> <join_type> JOIN <tableref> ON <умова пошуку> | (<joined_table>)

<join type> = [INNER] |{LEFT | RIGHT | FULL } [OUTER]

<умова пошуку> =

<величина> <оператор порівняння> {<величина> | (<select_one>)}

|<величина> [NOT] BETWEEN <величина> AND <величина> |<величина> [NOT] LIKE <величина>

|<величина> [NOT] IN

(<величина> [, <величина>...] | <select_list>) |<величина> IS [NOT] NULL

|<величина> {>= | <=} <величина>

|<величина> [NOT] {= | < | >} <величина>

|{ALL | SOME | ANY} (<select_list>)

| EXISTS (<select_expr>)

| SINGULAR (<select_expr>)

|<величина> [NOT] CONTAINING <величина> |<величина> [NOT] STARTING [WITH] <величина>

|(<умова пошуку>)

|NOT <умова пошуку>

|<умова пошуку> OR <умова пошуку>

|<умова пошуку> AND <умова пошуку>

<оператор порівняння> =

{= < > < = > = !< ! > < > !=}

<select_one> = оператор SELECT, що вибирає один стовпець та повертає рівно одне значення

<select_list > = оператор SELECT, що вибирає один стовпець, повертаючий нуль або багато значень

<select_expr> = оператор SELECT, що вибирає декілька величин і повертаючий нуль або багато значень

<список сортування> =

{Колонка | Номер}

[ASC | DESC]

[, <список сортування>...]

Деякі параметри, що входять в цей оператор, описані в табл. 7.1..

Таблица 7.1.

Опис параметрів оператора SELECT

 

Параметр Опис
DISTINCT | ALL DISTINCT- запобігає дублюванню даних, які будуть вибрані. ALL(за замовчуванням) - призведе до витягування всіх даних
{* <величина> [, <величина>...]} Зірочка (*) означає, що треба вибирати всі колонки з вказаних таблиць. <величина> [, <величина>...] - вибирає список вказаних стовпців, змінних або виразів
INTO:Змінна [, :Змінна...] Використовується тільки в тригерах і процедурах, що зберігаються для операторів SELECT, що повертають не більше одного рядка. Вказується список змінних, в які вибираються величини
FROM<tableref> [, <tableref>...] Вказує список таблиць, переглядів та процедур, що зберігаються з яких вибираються дані. Список може включати з’єднання та сполучення, що можуть мати вкладення
table Ім’я існуючої в базі даних таблиці
view Ім’я існуючого в базе даних перегляду
procedure Ім’я існуючої процедури, призначеної для використання в операторі SELECT
Псевдонім Коротке альтернативне ім’я для таблиці, перегляду або колонки. Після опису в <tableref>, псевдонім може використовуватись для посилань на таблицю або перегляд
join type Задає тип з’єднання, яке може бути внутрішнім або зовнішнім
WHERE <умова пошуку> Вказує умову, яка обмежує кількість рядків, що вибираються
GROUP BY Колонка [, Колонка...] Розбиває результат запиту на групи, що містять всі рядки з ідентичними значеннями вказаними в списку колонок
HAVING <умова пошуку> Використовує спільно з GROUP BY. Задає умову, яка обмежує кількість груп, що повертаються
UNION [ALL] Об’єднує результати декілька запитів. Всі запити повинні вибирати однакову кількість стовпців, тип даних кожного стовпця першого запиту повинен співпадати з типом даних інших запитів, імена стовпців в різних запитах можуть відрізнятися. Необов’язковий параметр ALL вказує, що треба виводити одинакові рядки
ORDER BY <список сортування> Вказує колонки, по яких буде виконуватись сортування рядків, що вибираються. Можна вказувати або імена колонок, або їх порядкові номера в списку колонок, що вибираються. Якщо вказати ASC, то рядки будуть видаватися в порядку зростання значень полів, що сортуються, якщо DESC - в порядку спадання значень

Як видно з синтаксису оператору SELECT, обов’язковими є тільки операції SELECT з переліком колонок, що виводяться та операцій FROM.

Приклад простішого оператора SELECT:

-- Видати перелік всіх працівників: SELECT * FROM Employee;

Нижче наведено декілька спрощених варіантів синтаксису оператора SELECT, що допомагають навчитися створювати прості запити.

Спрощений синтаксис внутрішнього з’єднання (стандарт SQL-92): SELECT Колонка [, Колонка...] | *

FROM <tableref_left> [INNER] JOIN <tableref_right>

[ON <умова пошуку>]

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

Спрощений синтаксис зовнішнього з’єднання:

 

SELECT Колонка [, Колонка...] | *

FROM <tableref_left>

{left | right | full} [outer] join

<tableref right>

[ON <умова пошуку>]

[WHERE <умова пошуку>];

Спрощений синтаксис використання підзапиту:

SELECT [DISTINCT] Колонка [, Колонка...]

FROM <tableref> [, <tableref>...]

WHERE

{expression {[NOT] IN | <оператор сравнения>} [NOT] EXISTS

}

(SELECT [DISTINCT] Колонка [, Колонка...]

FROM <tableref> [, <tableref>...] WHERE <умова пошуку>

);

Для виконання запитів в програмі "IB Expert" необхідно виконати наступні дії:

2. Підключитися до бази даних та виконати команду "Tools®SQL Editor" (F12). В результаті відкриється вікно "SQL Editor" (рис. 7.1).

3. Ввести в поле на вкладці "Edit" текст запиту.

 

4. Натиснути на панелі інструментів кнопку [Execute] (F9).

Рис. 7.1. Вікно виконання запитів

5.

 
 

Якщо запит правильний, то в результаті він виконається і результат буде відображено на вкладці "Results" (рис. 7.2).

Рис. 7.2. Вікно з результатом виконання запиту

5. Кількість вибраних в результаті виконання запиту рядків відображується над сіткою з даними з права. На рис. 7.2 там розташовується рядок "7 records fetched". В даному прикладі вибрано стільки рядків, скільки треба, щоб заповнити сітку (в ній вміщується тільки 7 рядків).

6. Щоб взнати, скільки всього рядків відповідає виконаному оператору, слід перейти в кінець набору даних, що відображується.

Щоб виконати другий запит, треба повернутися на вкладку "Edit", замінити вміст редактора на новий запит і повторити ті ж дії. До тексту раніше виконуваних правильних запитів можна повернутися, якщо перейти на вкладку "History", або знаходячись на вкладці "Edit" натискати кнопки [Previous Query] и [Next Query].


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)