Основні оператори SQL. Оператор зміни записів. Ненадовго повернемось до DDL

І над даними таблиць.

Мова SQL називають вбудованим, т.к. він містить функції повноцінної мови розробки, а орієнтується на доступ до даних, внаслідок чого він входить до складу засобів розробки додатків. Стандарти мови SQLпідтримують мови програмування Pascal, Fortran, COBOL, С та ін.

Існує 2 методи використання вбудованого SQL:

  • статичневикористання мови ( статичний SQL) – у тексті програми містяться виклики функцій SQL, які включають у виконуваний модуль після компіляції.
  • динамічнийвикористання мови ( динамічний SQL ) – динамічна побудова викликів функцій SQL та його інтерпретація. Наприклад, можна звернутися до даних віддаленої БД у процесі виконання програми.

Мова SQL (як і інші мови для роботи з БД) призначена для підготовки та виконання запитів. В результаті виконання запиту даних з однієї або декількох таблиць отримують безліч записів, які називають поданням.

Визначення 1

Подання- Це таблиця, яка формується в результаті виконання запиту.

Основні оператори мови запитів SQL

Оператори мови SQL умовно поділяються на 2 підмови:

  1. Мова визначення даних DDL;
  2. Мова маніпулювання даними DML.

У таблиці символом * позначені специфічні операторимови.

Розглянемо найважливіші оператори SQL.

    Оператор створення таблиці:

    Ім'я таблиці, що створюється, та ім'я хоча б одного стовпця (поля) є обов'язковими операндами. Для імені стовпця необхідно вказати тип даних, які зберігатимуться в ньому.

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

    Приклад 1

    Для створення таблиці booksкаталогу книг, що містить поля:

    type- Тип книги,

    name- назва книги,

    price– ціна книги

    оператор може виглядати так:

    Оператор зміни структури таблиці:

    При зміні структури таблиці можна додавати ( ADD), змінювати ( MODIFY) або видаляти ( DROP) один або кілька стовпців таблиці. Правила запису даного оператора такі самі, як і для оператора CREATE TABLE. Щоб видалити стовпець, вказувати не потрібно.

    Приклад 2

    Для додавання до таблиці booksполя number, в якому зберігатиметься кількість книг, можна записати оператор:

    Оператор видалення таблиці:

    Приклад 3

    Наприклад, щоб видалити існуючу таблицю з ім'ям booksдостатньо скористатися оператором:

    Оператор створення індексу:

    Оператор створює індекс для одного або кількох стовпців цієї таблиці, який дозволяє прискорити виконання операцій запиту та пошуку. Для однієї таблиці можна створити кілька індексів.

    Необов'язкова опція UNIQUEвідповідає за забезпечення унікальності значень у всіх стовпцях, зазначених в операторі.

    ASCзадає автоматичне сортування значень у стовпцях у порядку зростання (за замовчуванням), а DESC- У порядку зменшення.

    Оператор видалення індексу:

    Оператор створення подання:

    При створенні вистави можна не вказувати імена стовпців. Тоді будуть використані імена стовпців із запиту, що описується відповідним оператором SELECT.

    Оператор видалення подання:

    Оператор вибірки записів:

    Оператор SELECTздійснює вибірку та обчислення над даними з однієї або декількох таблиць. Результат виконання оператора – таблиця, яка містить ( ALL) або не містить ( DISTINCT) рядки, що повторюються.

    Операнд FROMмістить список таблиць, у тому числі беруться записи для відбору даних.

    Оператор зміни записів:

    Нові значення полів у записах можуть не містити значень ( NULL) або обчислюватися відповідно до арифметичного виразу.

    Оператор вставки нових записів:

    У першому записі оператора INSERTвводяться нові записи з заданими значеннямиу стовпцях.

    У другому записі оператора INSERTвводяться нові рядки, відібрані з іншої таблиці через пропозицію SELECT.

    Оператор видалення записів:

    В результаті виконання оператора видаляються із вказаної таблиці рядки, що задовольняють умові, визначеній необов'язковим операндом WHERE. Якщо операнд WHEREне вказано, видаляються всі записи таблиці.

Основу мови SQL складають оператори, умовно розбиті кілька груп по виконуваним функціям.

Можна виділити такі групи операторів (перераховані не всі оператори SQL):

Оператори DDL (Data Definition Language) – оператори визначення об'єктів бази даних

· CREATE SCHEMA – створити схему бази даних

· DROP SHEMA – видалити схему бази даних

· CREATE TABLE - створити таблицю

· ALTER TABLE – змінити таблицю

· DROP TABLE - видалити таблицю

· CREATE DOMAIN - створити домен

· ALTER DOMAIN - змінити домен

· DROP DOMAIN - видалити домен

· CREATE COLLATION - створити послідовність

· DROP COLLATION - видалити послідовність

· CREATE VIEW - створити уявлення

· DROP VIEW - видалити уявлення

Оператори DML(Data Manipulation Language) – оператори маніпулювання даними

· SELECT - відібрати рядки з таблиць

· INSERT - додати рядки до таблиці

· UPDATE - змінити рядки в таблиці

· DELETE - видалити рядки в таблиці

· COMMIT – зафіксувати внесені зміни

· ROLLBACK - відкотити внесені зміни

Оператори захисту та управління даними

· CREATE ASSERTION - створити обмеження

· DROP ASSERTION - видалити обмеження

· GRANT - надати привілеї користувачеві або додатку на маніпулювання об'єктами

· REVOKE - скасувати привілеї користувача або програми

Крім того, є групи операторів установки параметрів сеансу, отримання інформації про базу даних, операторів статичного SQL, операторів динамічного SQL.

Найбільш важливими для користувача є оператори маніпулювання даними (DML).

Приклади використання операторів маніпулювання даними

INSERT - вставка рядків у таблицю

Приклад 1. Вставлення одного рядка в таблицю:

VALUES (4, "Іванів");

UPDATE - оновлення рядків у таблиці

Приклад 3. Оновлення кількох рядків у таблиці:

SET PNAME = "Пушників"

WHERE P.PNUM = 1;

DELETE - видалення рядків у таблиці

Приклад 4. Видалення кількох рядків у таблиці:

WHERE P.PNUM = 1;

Приклади використання оператора SELECT

Оператор SELECTє фактично найважливішим для користувача та найбільш складним оператором SQL. Він призначений вибірки даних із таблиць, тобто. він, власне, і реалізує одне з основних призначення бази даних - надавати інформацію користувачеві.

Оператор SELECT завжди виконується над деякими таблицями, що входять до бази даних.

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


Результатом виконання оператора SELECT завжди є таблиця. Таким чином, за наслідками дій оператор SELECT схожий на оператори реляційної алгебри. Будь-який оператор реляційної алгебри може бути виражений відповідним чиномсформульованим оператором SELECT. Складність оператора SELECT визначається тим, що він містить у собі всі можливості реляційної алгебри, а також додаткові можливості, яких у реляційної алгебрині.

Порядок виконання оператора SELECT

Щоб зрозуміти, як виходить результат виконання оператора SELECT, розглянемо концептуальну схему його виконання. Ця схема саме концептуальної, т.к. гарантується, що результат буде таким, якби він виконувався крок за кроком відповідно до цієї схеми. Насправді реально результат виходить більш витонченими алгоритмами, якими "володіє" конкретна СУБД.

Стадія 1. Виконання одиночного оператора SELECT

Якщо в операторі присутні ключові слова UNION, EXCEPT та INTERSECT, запит розбивається на кілька незалежних запитів, кожен з яких виконується окремо:

Крок 1 (FROM). Обчислюється пряме декартове твір всіх таблиць, зазначених у обов'язковому розділі FROM. Через війну кроку 1 отримуємо таблицю A.

Крок 2 (WHERE). Якщо в операторі SELECT присутній розділ WHERE, то сканується таблиця A, отримана при виконанні кроку 1. Для кожного рядка з таблиці A обчислюється умовний вираз, наведений у розділі WHERE. Тільки ті рядки, для яких умовний вираз повертає значення TRUE, включаються до результату. Якщо розділ WHERE опущений, то відразу переходимо до кроку 3. Якщо в умовному вираженні беруть участь вкладені підзапити, вони обчислюються відповідно до цієї концептуальної схеми. Через війну кроку 2 отримуємо таблицю B.

Крок 3 (GROUP BY). Якщо в операторі SELECT є розділ GROUP BY, то рядки таблиці B, отриманої на другому кроці, групуються відповідно до списку угруповання, наведеного в розділі GROUP BY. Якщо розділ GROUP BY опущений, відразу переходимо до кроку 4. У результаті кроку 3 отримуємо таблицю З.

Крок 4 (HAVING). Якщо в операторі SELECT є розділ HAVING, то групи, які не задовольняють умовному виразу, наведеному в розділі HAVING, виключаються. Якщо розділ HAVING опущений, відразу переходимо до кроку 5. У результаті кроку 4 отримуємо таблицю D.

Крок 5 (SELECT). Кожна група, отримана на кроці 4, генерує один рядок результату в такий спосіб. Обчислюються всі скалярні вирази, зазначені у розділі SELECT. За правилами використання розділу GROUP BY такі скалярні вирази повинні бути однаковими для всіх рядків усередині кожної групи. Для кожної групи обчислюються значення агрегатних функцій, наведених у розділі SELECT. Якщо розділ GROUP BY був відсутній, але в розділі SELECT є агрегатні функції, то вважається, що є лише одна група. Якщо немає розділу GROUP BY, ні агрегатних функцій, то вважається, що є стільки груп, скільки рядків відібрано до цього моменту. В результаті кроку 5 отримуємо таблицю E, що містить стільки колонок, скільки елементів наведено в розділі SELECT і стільки рядків, скільки відібрано груп.

Стадія 2. Виконання операцій UNION, EXCEPT, INTERSECT

Якщо в операторі SELECT були ключові слова UNION, EXCEPT та INTERSECT, то таблиці, отримані в результаті виконання 1-ї стадії, об'єднуються, віднімаються або перетинаються.

Стадія 3. Упорядкування результату

Якщо в операторі SELECT є розділ ORDER BY, то рядки отриманої на попередніх кроках таблиці упорядковуються відповідно до списку впорядкування, наведеного в розділі ORDER BY.

Основні оператори SQL. Синтаксис та приклади використання оператора SELECT.

Основу мови SQL складають оператори, умовно розбиті кілька груп по виконуваним функціям.

Можна виділити такі групи операторів (перераховані не всі оператори SQL):

Оператори DDL (Data Definition Language) - оператори визначення об'єктів бази даних

· CREATE SCHEMA – створити схему бази даних

· DROP SHEMA – видалити схему бази даних

· CREATE TABLE - створити таблицю

· ALTER TABLE – змінити таблицю

· DROP TABLE - видалити таблицю

· CREATE DOMAIN - створити домен

· ALTER DOMAIN - змінити домен

· DROP DOMAIN - видалити домен

· CREATE COLLATION - створити послідовність

· DROP COLLATION - видалити послідовність

· CREATE VIEW - створити уявлення

· DROP VIEW - видалити уявлення

Оператори DML (Data Manipulation Language) – оператори маніпулювання даними

· SELECT - відібрати рядки з таблиць

· INSERT - додати рядки до таблиці

· UPDATE - змінити рядки в таблиці

· DELETE - видалити рядки в таблиці

· COMMIT – зафіксувати внесені зміни

· ROLLBACK - відкотити внесені зміни

Оператори захисту та управління даними

· CREATE ASSERTION - створити обмеження

· DROP ASSERTION - видалити обмеження

· GRANT - надати привілеї користувачеві або додатку на маніпулювання об'єктами

· REVOKE - скасувати привілеї користувача або програми

Разом з тим є групи операторів установки параметрів сеансу, отримання інформації про базу даних, оператори статичного SQL, оператори динамічного SQL.

Найбільш важливими для користувача є оператори маніпулювання даними (DML).

Приклади використання операторів маніпулювання даними

INSERT - вставка рядків у таблицю

Приклад 1. Вставлення одного рядка в таблицю:

VALUES (4, "Іванів");

UPDATE - оновлення рядків у таблиці

Приклад 3. Оновлення кількох рядків у таблиці:

SET PNAME = "Пушників"

WHERE P.PNUM = 1;

DELETE - видалення рядків у таблиці

Приклад 4. Видалення кількох рядків у таблиці:

WHERE P.PNUM = 1;

Приклади використання оператора SELECT

Оператор SELECT є фактично найважливішим для користувача та найскладнішим оператором SQL. Він призначений вибірки даних із таблиць, тобто. він, власне, і реалізує одне з базових призначення бази даних - надавати інформацію користувачеві.

Оператор SELECT завжди виконується над деякими таблицями, що входять до бази даних.

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

Результатом виконання оператора SELECT завжди є таблиця. Τᴀᴋᴎᴎᴩᴀᴈᴏᴍ, за результатами дій оператор SELECT схожий на оператори реляційної алгебри. Будь-який оператор реляційної алгебри має бути вираженим відповідним чином сформульованим оператором SELECT. Складність оператора SELECT визначається тим, що він містить у собі всі можливості реляційної алгебри, а також додаткові можливості, яких у реляційній алгебрі немає.

Порядок виконання оператора SELECT

Щоб зрозуміти, як виходить результат виконання оператора SELECT, розглянемо концептуальну схему його виконання. Ця схема саме концептуальної, т.к. гарантується, що результат буде таким, якби він виконувався крок за кроком відповідно до цієї схеми. Насправді реально результат виходить більш витонченими алгоритмами, якими "володіє" конкретна СУБД.

Стадія 1. Виконання одиночного оператора SELECT

Якщо в операторі є ключові слова UNION, EXCEPT і INTERSECT, то запит розбивається на кілька незалежних запитів, кожен з яких виконується окремо:

Крок 1 (FROM). Обчислюється пряме декартове твір всіх таблиць, зазначених у обов'язковому розділі FROM. Через війну кроку 1 отримуємо таблицю A.

Крок 2 (WHERE). Якщо в операторі SELECT присутній розділ WHERE, то сканується таблиця A, отримана при виконанні кроку 1. При цьому для кожного рядка з таблиці A обчислюється умовний вираз, наведений у розділі WHERE. Тільки ті рядки, для яких умовний вираз повертає значення TRUE, включаються до результату. Якщо розділ WHERE опущений, то відразу переходимо до кроку 3. Якщо в умовному вираженні беруть участь вкладені підзапити, то вони обчислюються відповідно до цієї концептуальної схеми. Через війну кроку 2 отримуємо таблицю B.

Крок 3 (GROUP BY). Якщо в операторі SELECT є розділ GROUP BY, то рядки таблиці B, отриманої на другому кроці, групуються відповідно до списку угруповання, наведеного в розділі GROUP BY. Якщо розділ GROUP BY опущений, то відразу переходимо до кроку 4. В результаті кроку 3 отримуємо таблицю С.

Крок 4 (HAVING). Якщо в операторі SELECT присутній розділ HAVING, то групи, які не задовольняють умовному виразу, наведеному в розділі HAVING, виключаються. Якщо розділ HAVING опущений, то відразу переходимо до кроку 5. В результаті кроку 4 отримуємо таблицю D.

Крок 5 (SELECT). Кожна група, отримана на кроці 4, генерує один рядок результату в такий спосіб. Обчислюються всі скалярні вирази, зазначені в розділі SELECT. За правилами використання розділу GROUP BY, такі скалярні вирази повинні бути однаковими для всіх рядків усередині кожної групи. Для кожної групи обчислюються значення агрегатних функцій, наведених у розділі SELECT. Якщо розділ GROUP BY був відсутній, але в розділі SELECT є агрегатні функції, то вважається, що є всього одна група. Якщо немає ні розділу GROUP BY, ні агрегатних функцій, то вважається, що є стільки груп, скільки рядків відібрано на даний момент. В результаті кроку 5 отримуємо таблицю E, що містить стільки колонок, скільки елементів наведено в розділі SELECT і стільки рядків, скільки відібрано груп.

Стадія 2. Виконання операцій UNION, EXCEPT, INTERSECT

У випадку якщо в операторі SELECT були ключові слова UNION, EXCEPT і INTERSECT, то таблиці, отримані в результаті виконання 1-ї стадії, об'єднуються, віднімаються або перетинаються.

Стадія 3. Упорядкування результату

У випадку якщо в операторі SELECT присутній розділ ORDER BY, рядки отриманої на попередніх кроках таблиці упорядковуються відповідно до списку впорядкування, наведеного в розділі ORDER BY.

Основні оператори SQL. Синтаксис та приклади використання оператора SELECT. - Поняття та види. Класифікація та особливості категорії "Основні оператори SQL. Синтаксис та приклади використання оператора SELECT." 2017, 2018.

Структурована мова запитів SQL заснована на реляційному обчисленні зі змінними кортежами. Мова SQL призначений для виконання операцій над таблицями створення видалення зміна структури і над даними таблиць вибірка зміна додавання та видалення а також деяких супутніх операцій. SQL є непроцедурним мовою і містить операторів управління організації підпрограм введення висновку тощо.


Поділіться роботою у соціальних мережах

Якщо ця робота Вам не підійшла внизу сторінки, є список схожих робіт. Також Ви можете скористатися кнопкою пошук


Структурована мова запитів SQL: історія, стандарти,

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

Структурована мова запитів SQL заснована на реляційному обчисленні зі змінними кортежами. Мова має кілька стандартів. Мова SQL призначена для виконання операцій над таблицями (створення, видалення, зміна структури) і над даними таблиць (вибірка, зміна, додавання та видалення), а також деяких супутніх операцій. SQL є непроцедурною мовою і не містить операторів управління, організації підпрограм, введення-виведенняі т.п. У зв'язку з цим SQL автономно не використовується, зазвичай він занурений у середовище вбудованої мови програмування СУБД (наприклад, Visual FoxPro, ObjectPAL СУБД Paradox, Visual Basic for Applications СУБД Access).

У сучасних СУБД з інтерактивним інтерфейсом можна створювати запити, використовуючи інші засоби, наприклад, QBE. Однак застосування SQLнайчастіше дозволяє підвищити ефективність обробки даних у базі. Наприклад, під час підготовки запиту в середовищі Access можна перейти з вікна Конструктора запитів (формулювання запиту за зразком на мові QBE) у вікно з еквівалентним оператором SQL. Підготовку нового запиту шляхом редагування вже наявного в ряді випадків простіше зробити шляхом зміни оператора SQL. У різних СУБД склад операторів SQL може дещо відрізнятися. Мова SQL не має функцій повноцінної мови розробки, а орієнтована на доступ до даних, тому її включають до складу засобів розробки програм. У цьому випадку його називають вбудованим SQL. Стандарт мови SQL підтримують сучасні реалізації наступних мов програмування: PL/1, Ada, C, COBOL, Fortran, MUMPS та Pascal.

У спеціалізованих системах розробки додатків типу клієнт-сервер середовище програмування, крім того, зазвичай доповнене комунікаційними засобами(Встановлення і роз'єднання з'єднань з серверами БД, виявлення і обробка помилок, що виникають в мережі і т.д.), засобами розробки інтерфейсів користувача, засобами проектування та налагодження. Розрізняють два основні методи використання вбудованого SQL: статичний та динамічний. При статичному використанні мови (статичний SQL) у тексті програми є виклики функцій мови SQL, які жорстко включаються у модуль після компіляції.

Зміни в функціях, що викликаються, можуть бути на рівні окремих параметрів викликів за допомогою змінних мови програмування. При динамічному використанні мови (динамічний SQL) передбачається динамічна побудова викликів SQL функцій та інтерпретація цих викликів, наприклад, звернення до даних віддаленої бази під час виконання програми. Динамічний методзазвичай застосовується у випадках, коли у додатку заздалегідь невідомий вид SQL-дзвінка і він будується у діалозі з користувачем. Основним призначенням мови SQL (як та інших мов для роботи з базами даних) є підготовка та виконання запитів. В результаті вибірки даних з однієї або декількох таблиць може бути отримано безліч записів, що називають поданням. Подання по суті є таблицею, яка формується в результаті виконання запиту. Можна сказати, що воно є різновидом запиту, що зберігається. За одним і тим самим таблицям можна побудувати кілька уявлень. Саме подання описується шляхом вказівки ідентифікатора подання та запиту, який має бути виконаний для його отримання.

Для зручності роботи з поданнями до мови SQL введено поняття курсора. Курсор є своєрідним покажчиком, що використовується для переміщення по наборах записів при їх обробці. Опис та використання курсору в мові SQL виконується в такий спосіб. В описовій частині програми виконують зв'язування змінної типукурсор (CURSOR) із оператором SQL (зазвичай із оператором SELECT). У частині програми, що виконується, проводиться відкриття курсору (OPEN<имя курсора>), переміщення курсору за записами (FETCH<имя курсора>...), що супроводжується відповідною обробкою, і, нарешті, закриття курсору (CLOSE<имя курсора>).

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

Опишемо мінімальне підмножина мови SQL, спираючись на її реалізацію в стандартному інтерфейсі ODBC (Open Database Connectivity) сумісність відкритих базданих) фірми Microsoft. Оператори мови SQL можна умовно розділити на дві підмови: мову визначення даних (Data Definition Language DDL) і мову маніпулювання даними (Data Manipulation Language-DML). Основні оператори мови SQL представлені в таблиці.

Розглянемо формат і основні можливості найважливіших операторів, крім специфічних операторів, зазначених у таблиці символом «*». Несуттєві операнди та елементи синтаксису (наприклад, прийняте у багатьох системах програмування правило ставити «;» наприкінці оператора) будемо опускати.

1. Оператор створення таблицімає формат вигляду:

CREATE TABLE<имя таблицы>

(<имя столбца> <тип данных>

[,<имя столбца> <тип данных> ]...)

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

При створенні таблиці для окремих полів можуть вказуватися деякі додаткові правила контролю значень, що вводяться в них. Конструкція NOT NULL (не порожня) служить саме таким цілям і стовпця таблиці означає, що у цьому стовпці має бути визначено значення.

Оператори мови SQL

Вид

Назва

Призначення

CREATE TABLE

DROP TABLE

ALTER TABLE

CREATE INDEX

DROP INDEX

CREATE VIEW

DROP VIEW

GRAND*

REVOKE*

створення таблиці

видалення таблиці

зміна структури таблиці

створення індексу

видалення індексу

створення уявлення

видалення уявлення

призначення привілеїв

видалення привілеїв

SELECT

UPDAT

INSERT

DELETE

вибірка записів

зміна записів

вставка нових записів

видалення записів

У випадку у різних СУБД можуть використовуватися різні типи даних. В інтерфейсі ODBC підтримуються стандартні типи даних, наприклад, символьні (SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR) та ін. При роботі з БД деякою СУБД за допомогою інтерфейсу ODBC виконується автоматичне перетворення стандартних типівданих, що підтримуються інтерфейсом, типи даних джерел і назад. При необхідності обмін даними між програмою та джерелом даних може вестись без перетворення у внутрішньому форматі даних джерела.

Приклад 1 . Створення таблиці.

Нехай потрібно створити таблицю goods опису товарів, що має поля: type вид товару, comp_id ідентифікатор компанії-виробника, name назва товару і price ціна товару. Оператор визначення таблиці може мати такий вигляд:

CREATE TABLE goods (type SQL_CHAR(8) NOT NULL,

comp_id SQL_CHAR(10) NOT NULL, name SQL_VARCHAR(20),

price SQL_DECIMAL(8,2)).

2. Оператор зміни структури таблицімає формат вигляду:

ALTER TABLE<имя таблицы>

((ADD, MODIFY, DROP)<имя столбца> [<тип данных>]

[,(ADD, MODIFY, DROP)<имя столбца> [<тип данных>]]...)

Зміна структури таблиці може полягати в додаванні (ADD), зміні (MODIFY) або видаленні (DROP) одного або кількох стовпців таблиці. Правила запису оператора ALTER TABLE такі самі, як і оператора CREATE TABLE. При видаленні стовпця вказувати<тип данных>не потрібно.

3. Оператор видалення таблицімає формат вигляду:

DROP TABLE<имя таблицы>

Оператор дозволяє видалити наявну таблицю. Наприклад, видалення таблиці з ім'ям items достатньо записати оператор виду: DROP TABLE items.

4. Оператор створення індексумає формат вигляду:

CREATE INDEX< имя индекса >

ON< имя таблицы >

(<имя столбца>[ASC | DESC ]

[,<имя столбца>[ASC | DESC ]...)

Оператор дозволяє створити індекс для одного або кількох стовпців заданої таблиці з метою прискорення виконання запитних та пошукових операцій із таблицею. Для однієї таблиці можна створити кілька індексів. Задавши необов'язкову опцію UNIQUE, можна забезпечити унікальність значень у всіх зазначених в операторі стовпчиках. Фактично, створення індексу із зазначенням ознаки UNIQUE означає визначення ключа у створеної раніше таблиці. При створенні індексу можна встановити порядок автоматичного сортуваннязначень у стовпцях в порядку зростання ASC (за замовчуванням), або в порядку зменшення DESC. Для різних шпальт можна задавати різний порядок сортування.

5. Оператор видалення індексумає формат вигляду:

DROP INDEX<имя индекса>

Цей оператор дозволяє видаляти створений раніше індекс із відповідним ім'ям. Приміром, для знищення індексу main_indx до таблиці emp досить записати оператор DROP INDEX main_indx.

6. Оператор створення уявленнямає формат вигляду:

CREATE VIEW<имя представления>

[(<имя столбца> [,<имя столбца> ]...)]

AS<оператор SELECT>

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

7. Оператор видалення уявлення має формат вигляду:

DROP VIEW<имя представления>

Оператор дозволяє видалити створене раніше уявлення. Зауважимо, що при видаленні подання таблиці, що беруть участь у запиті, не підлягають видаленню. Видалення подання герг здійснюється оператором виду: DROP VIEW repr.

8. Оператор вибірки записів має формат вигляду:

SELECT

< список данных >

FROM<список таблиц>

... ]

...]

Це найбільш важливий оператор із усіх операторів SQL. Функціональні можливості його величезні. Розглянемо основні їх. Оператор SELECT дозволяє проводити вибірку та обчислення над даними з однієї або декількох таблиць. Результатом виконання оператора є таблиця, яка може мати (ALL), або не мати (DISTINCT) повторювані рядки. За замовчуванням у таблицю у відповідь включаються всі рядки, у тому числі і повторювані. У відборі даних беруть участь записи однієї чи кількох таблиць, перелічених у списку операнда FROM. Список даних може містити імена шпальт, що беруть участь у запиті, а також вирази над стовпцями. У найпростішому випадку у виразах можна записувати імена стовпців, знаки арифметичних операцій (+, ¦, *, /), константи та круглі дужки. Якщо в списку даних записано вираз, то поряд з вибіркою даних виконуються обчислення, результати якого потрапляють у новий (створюваний) стовпець таблиці у відповідь. При використанні в списках даних імен стовпців кількох таблиць для вказівки приналежності стовпця деякі таблиці застосовують конструкцію виду:<имя таблицы>.<имя столбца>.

Операнд WHERE визначає умови, яким повинні задовольняти записи в результуючій таблиці. Вираз<условие выборки>є логічним. Його елементами можуть бути імена шпальт, операції порівняння, арифметичні операції, логічні зв'язки (І, АБО, НІ), дужки, спеціальні функції LIKE, NULL, IN і т.д. Операнд GROUP BY дозволяє виділяти в результуючому множині записів групи.

9. Оператор зміни записівмає формат вигляду:

UPDATE<имя таблицы>

SET<имя столбца> = {<выражение>, NULL )

[, SET<имя столбца> = {<выражение>, NULL)... ]

Виконання оператора UPDATE полягає у зміні значень у визначених операндом SET стовпцях таблиці для записів, які задовольняють умові, заданій операндом WHERE. Нові значення полів у записах можуть бути порожніми (NULL), або обчислюватися відповідно до арифметичного виразу. Правила запису арифметичних та логічних виразіваналогічні відповідним правилам оператора SELECT.

10. Оператор вставки нових записівмає формати двох видів:

INSERT INTO<имя таблицы>

[(<список столбцов>)]

VALUES (<список значений>)

INSERT INTO<имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

У першому форматі оператор INSERT призначений для введення нових записів із заданими значеннями в стовпцях. Порядок перерахування імен стовпців має відповідати порядку значень, перелічених у списку операнда VALUES. Якщо<список столбцов>опущений, то в<списке значений>повинні бути перераховані всі значення порядку стовпців структури таблиці.У другому форматі оператор INSERT призначений для введення взадану таблицю нових рядків, відібраних з іншої таблиці зза допомогою пропозиції SELECT.

PAGE 1

Інші схожі роботи, які можуть вас зацікавити.

16. Вивчення основ мови структурованих запитів T-SQL 34.15 KB
Для досягнення поставленої мети необхідно вирішити такі завдання: створити запити на вибірку з кількох таблиць мовою SQL заданими критеріями відбору; створити запит на вибірку на мові SQL, що містить статичні агрегатні функції; створити запит, що здійснює об'єднання результатів двох і більше запитів в один набір результатів, використовуючи команду UNION. Внаслідок виконання роботи студенти повинні знати: категорії команд SQL; основні команди SQL, що застосовуються для побудови запиту; принципи створення запитів SQL...
6030. МОВА ЯК ЯВО, що РОЗВИВАЄТЬСЯ. ЗОВНІШНІ ТА ВНУТРІШНІ ФАКТОРИ РОЗВИТКУ МОВИ 17.38 KB
Проблема походження мови включає два питання. Перше питання пов'язане з проблемою походження мови взагалі як склалося людська моваяким чином людина навчилася говорити другою з походженням кожної окремої мови. Свідчень про цей період не збереглося тому щодо походження мови взагалі лінгвістам доводиться оперувати як мовними фактами а й даними суміжних наук. Інтерес до проблеми походження мови виник давно.
10870. Міжпредметні зв'язки курсу "Професійна російська мова". Трансформація та диференціація професійної російської мови 10.57 KB
Трансформація та диференціація професійної російської мови 1. Трансформація та диференціація професійної російської мови. Синтаксичні норми визначаються структурою мови і як і інші норми орфоэпические лексичні морфологічні зазнають зміни у розвитку мови. При засвоєнні синтаксису нерідної мови спостерігається ряд труднощів що виникають під час виборів форм управління та узгодження побудові пропозиції використання дієприслівникового обороту виборі необхідного прийменника тощо.
6929. Історія мови Delphi 13.01 KB
Delphi це грецьке місто де жило дельфійський оракул. Delphi це комбінація кількох найважливіших технологій: Високопродуктивний компілятор в машинний код Об'єктно-орієнтована модель компонент Візуальна а отже і швидкісна побудова додатків з програмних прототипів Засоби для побудови баз даних Компілятор в машинний код Компілятор вбудований в Delphi забезпечує високу продуктивність необхідну для побудови додатків в архітектурі.
10869. Поняття «професійна мова», «мова спеціальності», їхня диференціація. Професійна російська мова: її зародження, функції, сфера функціонування (з урахуванням специфіки спеціальності) 9.5 KB
Диференціація мови. Кожна економічна спеціальність крім спільної мовиєдиної для всіх економістів має і свою спеціальну та спеціалізовану мову. Цими професійними мовами спілкуються в усній та письмовій формі фахівці цих професійних мов навчають студентів такі професійні мови описують системи знань умінь у науковій навчальній довідковій та іншій літературі. У системі економічної мови існують спільні для всіх професійних мовпроблеми.
1335. Основні словотвірні моделі у сучасному варіанті американської англійської мови 117.01 KB
Основні відмінності американського та британського варіантів англійської мови. Проблема визначення світового статусу американського варіанта англійської. Американський варіант англійської мови в сучасному світі. Лексичні особливості американського варіанта англійської.
1936. ІСТОРІЯ, СТРУКТУРА ТА ОСНОВНІ ПОНЯТТЯ ЕКОЛОГІЇ 495.77 KB
Термін "екологія" утворений грецьким корінням "ойкос" - будинок, безпосереднє оточення людини і "логос" - наука. Тому в буквальному сенсі екологія – це наука про організми, у тому числі про людину, що спостерігаються в межах свого будинку, причому особлива увага приділяється характеру зв'язків між організмами та навколишнім середовищем.
17746. Педагогіка образотворчої творчості: історія та основні тенденції розвитку 25.96 KB
Завдання контрольної роботирозглянути поняття дитячої художньої творчості виявити дослідження видатних педагогів та психологів та історії становлення дитячої художньої творчості. Проявом художньої творчості можуть бути окремі роботи- виконані самостійно або під керівництвом дорослого малюнки ліплення усне та письмове художнє слово мелодії драматизації танці а також хоровий спів
6285. Керуючі оператори 103.51 KB
Оператори циклу Оператори циклу використовують для організації багаторазово повторюваних обчислень. Для організації циклу необхідна звана змінна параметр циклу або керуюча змінна циклу. Будь-який цикл складається з: початкових установокабо блок ініціалізації параметра циклу; тіла циклу тобто тих операторів, які виконуються кілька разів; блок модифікації параметра циклу; перевірки умови виходу з циклу, яка може розміщуватися або до тіла циклу, тоді говорять про цикл з передумовою або після тіла.
2784. Оператори умови та вибору 16 KB
Оператор умови If. Тому Ви можете записати наступні оператори присвоювання: Koren:=Sqrtxy; Modul:=bsxy. Для таких умовних переходів у мові Паскаль використовують оператори If і Else і оператор безумовного переходу Goto. Розглянемо оператор If.

Запитання №1. SQL та його історія. 1

Запитання №2. Опис основних операторів SQL.

Арифметичні функції. 4

Функції обробки рядків. 5

Спеціальні функції. 6

Функції для обробки дати. 7

Використання агрегатних функцій у запитах. 7

Запитання №1. SQL та його історія

Єдиним засобом спілкування і адміністраторів баз даних, і проектувальників, і розробників, і користувачів із реляційною базою даних є структурована мовазапит SQL (Structured Query Language). SQL є повнофункціональною мовою маніпулювання даними в реляційних базах даних. В даний час він є загальновизнаним стандартним інтерфейсом для реляційних баз даних, таких як Oracle, Informix, Sybase, DB/2, MS SQL Server та ряду інших (стандарти ANSI та ISO). SQL - непроцедурна мова, призначена для обробки множин, що складаються з рядків і колонок таблиць реляційної бази даних. Хоча існують його розширення, що допускають процедурну обробку. Проектувальники баз даних використовують SQL створення всіх фізичних об'єктів реляційної бази даних.

Теоретичні основи SQLбули закладені у відомій статті Кодда, що започаткувала розвиток теорії реляційних БД. Перша практична продаж була виконана в дослідницьких лабораторіях фірми IBM Chamberlin D.D. та Royce R.F. Промислове застосування SQL було вперше реалізовано в СУБД Ingres. Однією з перших промислових реляційних СУБД є Oracle. По суті, реляційна СУБД - це програмне забезпечення, яке керує роботою реляційної бази даних.

Перший міжнародний стандартмови SQL було прийнято 1989 р. (SQL-89). Наприкінці 1992 р. було прийнято новий міжнародний стандарт SQL-92. В даний час більшість виробників реляційних СУБД використовують його як базовий. Однак роботи зі стандартизації мови SQL далекі від завершення і вже розроблений проект стандарту SQL-99, який вводить у побут мови поняття об'єкта і дозволяє на нього посилатися в операторах SQL: У вихідному варіанті SQL не було команд управління потоком даних, вони з'явилися в нещодавно прийнятому стандарт ISO/IEC 9075-5: 1996 додаткової частини SQL.

Кожній конкретній СУБД відповідає своя власна реалізація SQL, що загалом підтримує певний стандарт, але має свої особливості. Ці реалізації називаються діалектами. Так, стандарт 1SO/IEC 9075-5 передбачає об'єкти, які називаються постійно збереженими модулями або PSM-модулями (Persistent Stored Modules). У СУБД Oracleрозширення PL/SQL є аналогом вказаного вище розширення стандарту.

Запитання №2. Опис основних операторів SQL

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

Весь набір команд SQL можна розбити на такі групи:

· команди визначення даних (DDL – Data Defininion Language);

· команди маніпулювання даними (DML – Data Manipulation Language);

· команди вибірки даних (DQL – Data Query Language);

· команди управління транзакціями;

· Команда управління даними.

Під час виконання кожна команда SQL проходить чотири фази обробки:

· Фаза синтаксичного розбору, Що включає перевірку синтаксису команди, перевірку імен таблиць і колонок у базі даних, а також підготовку вихідних даних для оптимізатора;

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

· Фаза генерації виконуваного коду, Що включає побудова виконуваного коду команди;

· Фаза виконання команди, яка включає виконання коду команди.

В даний час оптимізаторє складовою будь-якої промислової реалізації SQL. Робота оптимізатора заснована на зборі статистики про команди, що виконуються, і виконання еквівалентних алгебраїчних перетворень з відносинами бази даних. Така статистика зберігається у системному каталозі бази даних. Системний каталогє словником даних для кожної бази даних і містить інформацію про таблиці, уявлення, індекси, колонки, користувачів та їх привілеї доступу. Кожна база даних має свій системний каталог, який представляє сукупність визначених таблиць бази даних.

Таблиця 8.1 містить список команд SQL у відповідності до прийнятого стандарту, за винятком деяких практично не використовуються в діалектах команд.

Таблиця 8.1. Типовий список команд SQL

Команда Опис
Команди визначення даних об'єктів
ALTER TABLE Змінює опис таблиці (схему відношення)
CREATE EVENT Створює подію таймера у базі даних
CREATE INDEX Створить індекс для таблиці
CREATE SEQUENCE Створює послідовність
CREATE TABLE Визначає таблицю
CREATE TABLESPACE Створить табличний простір
CREATE TRIGGER Створює тригер у базі даних
CREATE VIEW Визначає уявлення на таблицях
DROP INDEX Фізично видаляє індекс із бази даних
DROP SEQUENCE Видаляє послідовність
DROP TABLE Фізично видаляє таблицю з бази даних
DROP TABLESPACE Видаляє табличний простір
DROP VIEW Видаляє виставу
Команди маніпулювання даними
DELETE Видаляє один або більше рядків із таблиці бази даних
INSERT Вставляє один або більше рядків у таблицю бази даних
UPDATE Оновлює значення колонок у таблиці бази даних
Команди вибірки даних
SELECT Виконує запит на вибірку даних із таблиць та уявлень
UNION Об'єднує в одній вибірці результати виконання двох або більше команд SELECT
Команди управління транзакціями
COMMIT Завершує транзакцію та фізично актуалізує поточний станбази даних
ROLLBACK Завершує транзакцію та повертає поточний стан бази даних на момент останньої завершеної транзакції та контрольної точки
SAVEPOINT Призначає контрольну точкуусередині транзакції
Команди управління даними
ALTER DATABASE Змінює групи зберігання або журнали транзакцій
ALTER DBAREA Змінює розмір областей зберігання бази даних
ALTER PASSWORD Змінює пароль для доступу до бази даних
ALTER STOGROUP Змінює склад областей зберігання групи зберігання
CHECK DATABASE Перевіряє цілісність бази даних
CHECK INDEX Перевіряє цілісність індексу
CHECK TABLE Перевіряє цілісність таблиці та індексу
CREATE DATABASE Фізично створює базу даних
CREATE DBAREA Створює область зберігання бази даних
CREATE STOGROUP Створює групу зберігання
CREATE SYSNONYM Створює синонім для таблиці або подання
DEINSTALL DATABASE Робить базу даних не доступною користувачамобчислювальної мережі
DROP DATABASE Фізично видаляє бази даних
DROP DBAREA Фізично видаляє область зберігання бази даних
DROP STOGROUP Видаляє групу зберігання
GRANT Визначає привілеї користувачів та розмежування доступу до бази даних
INSTALL DATABASE Робить базу даних доступною користувачам обчислювальної мережі
LOCK DATABASE Блокує поточну активну базу даних
REVOKE Скасує привілеї користувачів та розмежування доступу до бази даних
SET DEFAULT STOGROUP Визначає групу зберігання за промовчанням
UNLOCK DATABASE Деблокує поточну активну базу даних
UPDATE STATISTIC Оновлює статистику для бази даних
Інші команди
COMMENT ON Розміщує у системному каталозі коментарі до опису об'єктів БД
CREATE SYNONYM Визначає у системному каталозі альтернативні імена для таблиць та уявлень БД
DROP SYNONYM Видаляє з системного каталогуальтернативні імена для таблиць та уявлень БД
LABEL Змінює мітки системних описів
ROWCOUNT Обчислює число рядків у таблиці БД

Набір команд SQL, наведений у таблиці, не є повним. Цей список наведено, щоб ви склали враження про можливості SQL загалом. Для отримання повного спискукоманд слід звернутися до відповідного посібника для конкретної СУБД. Слід пам'ятати, що SQL єдиний засіб спілкування всіх категорій користувачів з реляційними базами даних.

Арифметичні функції

SQL підтримує повний набірарифметичних операцій та математичних функцій для побудови арифметичних виразів над колонками бази даних (+, -, *, /, ABS, LN, SQRT тощо).

Список основних вбудованих математичних функцій наведено нижче в таблиці 8.2.

Математична функція Опис
ABS(X) Повертає абсолютне значення числа X
ACOS(X) Повертає арккосинус числа X
ASIN(X) Повертає арксинус числа X
ATAN(X) Повертає арктангенс числа X
COS(X) Повертає косинус числа X
EXP(X) Повертає експоненту числа X
SIGN(X) Повертає -], якщо X< 0, 0, если X = 0, + 1, если X > 0
LN(X) Повертає натуральний логарифмчисла X
MOD(X,Y) Повертає залишок від поділу X на Y
CEIL(X) Повертає найменше ціле, більше або рівне X
ROUND(X,n) Округлює число X до числа із п знаками після десяткової точки
SIN(X) Повертає синус числа X
SQRT(X) Повертає квадратний корінь числа X
TAN(X) Повертає тангенс числа X
FLOOR(X) Повертає найбільше ціле, менше або рівне X
LOG(a,X) Повертає логарифм числа X на підставі А
SINH(X) Повертає гіперболічний синус числа X
COSH(X) Повертає гіперболічний косинус числа X
TANH(X) Повертає гіперболічний тангенс числа X
TRANC(X.n) Усікає число X до числа з знаками після десяткової точки
POWER(A,X) Повертає значення А, зведене до ступеня X

Набір вбудованих функцій може змінюватись в залежності від версії СУБД одного виробника та також у СУБД різних виробників . Так, наприклад, у СУБД SQLBase, Centure Inc. є функція @ATAN2(X,Y), яка повертає арктангенс Y/X, але відсутня функція SIGN(X).

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

SELECT ENAME, SAL, COMM. FINE, SAL + COMM - FINE

Арифметичний вираз SAL + COMM - FINE виводиться як нова колонкау результуючій таблиці, яка обчислюється в результаті виконання запиту. Такі колонки називають ще похідними (обчислюваними) атрибутамичи полями.

Функції обробки рядків

SQL надає широкий вибір функцій для маніпулювання з рядковими даними (конкатенація рядків, CHR, LENGTH, INSTR та інші). Список основних функцій обробки рядкових даних наведено у таблиці 8.3.

Таблиця 8.3. Функції SQL для обробки рядків

Функція Опис
CHR(N) Повертає символ ASCIIкоду для десяткового коду N
ASCII(S) Повертає десятковий ASCII код першого символу рядка
INSTR(S2,SI,pos|,N|) Повертає позицію рядка SI у рядку S2 більшу або рівну pos. N - кількість входжень
LENGTH(S) Повертає довжину рядка
LOWER(S) Замінює всі символи рядка на великі символи
INITCAP(S) Встановлює перший символ кожного слова в рядку на великий, а решта символів кожного слова - на великі
SUBSTR(S,pos,[,len|) Виділяє в рядку S підрядок довжиною ten, починаючи з позиції pos
UPPER(S) Перетворює прописні літериу рядку на великі літери
LPAD(S,N |,A|) Повертає рядок S, доповнений ліворуч символами А до числа символів N. Символ-наповнювач за замовчуванням - пробіл
RPAD(S,N |,А]) Повертає рядок S, доповнений праворуч символами А до числа символів N. Символ-наповнювач за замовчуванням - пробіл
LTRIM(S,|,Sll) Повертає зрізаний зліва рядок S. Символи видаляються до тих пір, поки символ, що видаляється, входить у рядок - шаблон SI (за замовчуванням - пробіл)
RTRIM(S,|,SI |) Повертає усічену справа рядок S. Символи видаляються до тих пір, поки символ, що видаляється, входить у рядок - шаблон S1 (за замовчуванням - пробіл)
TRANSLATES,(SI,S2) Повертає рядок S, у якому всі входження рядка SI заміщені рядком S2. Якщо SI<>S2, то символи, яким немає відповідності, виключаються з результуючого рядка
REPLACED(SI,|,S2|) Повертає рядок S, для якого всі входження підрядка SI заміщені на підрядок S2. Якщо S2 не вказано, всі входження підрядки SI видаляються з результуючого рядка S
NVL(X,Y) Якщо X є NULL, то повертає Y чи рядок, чи число, чи дату залежно від вихідного типу Y

Назви одних і тих самих функцій можуть відрізнятися в різних СУБД. Так, наприклад, функція СУБД Oracle SUBSTR(S, pos, |, len|) у СУБД SQLBase називається @SUBSTRING(S, pos, Ien). У СУБД SQLBase є функції, яких немає в СУБД Oracle (див. нижче таблицю, де наведено список таких функцій).

Таблиця 8.4. Рядкові функції СУБД SQLBase, відмінні від рядкових функційСУБД Oracle

Функція Опис
@EXACT(SI,S2) Повертає результат порівняння двох рядків
@LEFT(S,lcn) Повертає ліве підрядження довжиною len
@LENGTH(S) Повертає довжину ну рядки
@MID(S, pos, len) Повертає підрядок вказаної довжини, починаючи з позиції pos
@REPEAT(S,n) Повторює рядок S n разів
@REPLACE(SI,pos,len,S2) Заміщаєте позиції pos len символів у рядку S2 символами рядка SI
@RIGHT(S,len) Повертає праве підрядження S довжиною len
@SCAN(S,pat) Повертає позицію підрядка pat у рядку S
@STRING(X, scale) Повертає символьне представлення числа із зазначеним масштабом scale
@TRIM(S) Видаляє пробіли у рядку праворуч та ліворуч
@VALUE(S) Перетворює символьне подання числа на числове значення

Можна використовувати функцію INITCAP, щоб під час отримання списку імен службовців прізвища завжди починалися з великої літери, а всі інші були великими.

SELECT INITCAP(ENAME)

Спеціальні функції

SQL забезпечує набір спеціальних функцій для перетворення значень колонок. Список таких функцій наведено у таблиці 8.5.

Таблиця 8.5. Спеціальні функції

У таблиці EMPLOYEE кожного службовця можна запровадити ознака статі - додати колонку SEX типу CHAR(l) (0 - чоловічий, 1 - жіночий). Припустимо, що вам потрібен список службовців, у якому потрібно поділ їх за ознакою статі із зазначенням їх у числовому форматі; тоді можна задати таку команду:

SELECT ENAME, LNAME, AGE, " Підлога:", TO_NUMBER(SEX)

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

SELECT ENAME, DEC0DE(DEPN0, 10, " Дрягін", 20,"Жиляєва". 30,"

Коротків", "не має")

Припустимо, що керівник організації має невизначене значення колонки DEPNO і, отже, для нього буде працювати умовчання, передбачене в DECODE .


©2015-2019 сайт
Усі права належати їх авторам. Цей сайт не претендує на авторства, а надає безкоштовне використання.
Дата створення сторінки: 2016-08-07