Контакти

Оператори sql приклади. Основні оператори мови SQL. інтерактивний SQL

Основу мови 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 \u003d "Пушник"

WHERE P.PNUM \u003d 1;

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

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

WHERE P.PNUM \u003d 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 \u003d "Пушник"

WHERE P.PNUM \u003d 1;

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

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

WHERE P.PNUM \u003d 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.

Синтаксис оператора SELECT має наступний вигляд:

SELECT<список атрибутов>/ * FROM<список таблиц>

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

Видати список всіх студентів.

SELECT * FROM student

SELECT id_st, surname FROM student

Зауважимо, що якщо додати до даному запиту пропозиція ORDER BY surname, то список буде впорядкований по прізвища. За замовчуванням мається на увазі, що сортування проводиться по зростанню. Якщо необхідно впорядкування за спаданням, після імені атрибута додається слово DESC.

Видати список оцінок, які отримав студент з кодом "1".

Видати список кодів студентів, які отримали на іспитах хоча б одну двійку чи трійку.

У реченні WHERE можна записувати вираз з використанням арифметичних операторів порівняння (<, >, І т.д.) і логічних операторів (AND, OR, NOT) як і в звичайних мовах програмування.

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

  • IN - входження в певну множину значень;
  • BETWEEN - входження в певний діапазон значень;
  • LIKE - перевірка на збіг із зразком;
  • IS NULL - перевірка на невизначене значення.

Оператор IN використовується для перевірки входження в певну множину значень. Так, запит

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

Того ж результату можна домогтися, використовуючи оператор BETWEEN:

Видати список всіх студентів, прізвища яких починаються з літери А.

У цьому випадку зручно використовувати оператор LIKE.

Оператор LIKE застосовний виключно до символьних полях і дозволяє встановлювати, чи відповідає значення поля зразком. Зразок може містити спеціальні символи:

_ (Символ підкреслення) - заміщає будь-який одиночний символ;

% (Знак відсотка) - заміщає послідовність будь-якого числа символів.

Дуже часто виникає необхідність зробити обчислення мінімальних, максимальних або середніх значень в стовпцях. Так, наприклад, може знадобитися обчислити середній бал. Для здійснення подібних обчислень SQL надає спеціальні агрегатні функції:

  • MIN - мінімальне значення в стовпці;
  • MAX - максимальне значення в стовпці;
  • SUM - сума значень в стовпці;
  • AVG - середнє значення в стовпці;
  • COUNT - кількість значень в стовпці, відмінних від NULL.

Наступний запит рахує середнє серед всіх балів, отриманих студентами на іспитах.

SELECT AVG (mark) FROM mark_st

Природно, можна використовувати агрегатні функції спільно з пропозицією WHERE:

Даний запит вирахує середній бал студента з кодом 100 за результатами всіх зданих їм іспитів.

Даний запит вирахує середній бал студентів за результатами складання іспиту з кодом 10. У додаток до розглянутих механізмів

Мова структурованих запитів Structure Query Language (SQL) був створений в результаті розробки реляційної моделі даних і в даний час є фактичним стандартом мови реляційних СУБД. Мова SQL сьогодні підтримується величезною кількістю СУБД різних типів.

Назва мови SQL вимовляється зазвичай по буквах «ес-кью-ель». Іноді використовують мнемонічне ім'я «See-Quel».

Мова SQL надає користувачеві (при мінімальних зусиллях з його боку) такі можливості:

Створювати бази даних і таблиці з повним описом їх структури

Виконувати основні операції маніпулювання даними: вставка, зміна, видалення даних

Виконувати як прості, так і складні запити.

Мова SQL є реляційно повним.

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

Мова SQL має два основних компоненти:

Мова DDL (Data Definition Language) для визначення структур бази даних і управління доступом до даних

Мова DML (Data Manipulation Language), призначений для вибірки і поновлення даних.

Мова SQL є непроцедурного, т. Е. При його використанні необхідно вказувати те, яка інформація повинна бути отримана, а не те, як її можна отримати. Команди мови SQL є звичайними слова англійської мови (SELECT, INSERT та ін.). Розглянемо спочатку оператори SQL DML:

SELECT - вибірка даних з бази

INSERT - вставка даних в таблицю

UPDATE - оновлення даних в таблиці

DELETE - видалення даних з таблиці

оператор SELECT

Оператор вибірки SELECT виконує дії, еквівалентні наступним операціям реляційної алгебри: вибірка, проекція і з'єднання.

Найпростіший SQL-запит з його використанням виглядає наступним чином:

SELECT col_name FROM tbl

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

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

Для вибірки всіх стовпців і всіх рядків таблиці досить зробити запит SELECT * FROM tbl;

Розглянемо таблицю Product, що містить відомості про ціну на різні види продукції:

результатом запиту

SELECT * FROM Product;

буде вся таблиця Product.

Вибрати конкретні стовпці таблиці можна за допомогою запиту

SELECT col1, col2, ..., coln FROM tbl;

Так, результатом запиту

SELECT Type, Price FROM Product;

буде таблиця

До списку стовпців в операторі select вдаються і в тому випадку, якщо необхідно змінити порядок проходження стовпів в результуючій таблиці:

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

Наприклад, вибір тих товарів з таблиці Product, ціна яких задовольняє умові Price<3200, можно осуществить, используя запрос

SELECT * FROM Product where Price<3200;

Його результат:

Умова може бути складовим і об'єднуватися за допомогою логічних операторів NOT, AND, OR, XOR, наприклад: where id_ Price\u003e 500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1 + 1) і строкових констант: where name \u003d "автоваги".

Застосування конструкції BETWEEN var1 AND var2 дозволяє перевірити, чи потрапляють значення будь-якого виразу в інтервал від var1 до var2 (включаючи ці значення):

SELECT * FROM Product where Price BETWEEN 3000 AND 3500;

За аналогією з оператором NOT BETWEEN існує оператор NOT IN.

Імена стовпців, зазначені в пропозиції SELECT, можна перейменувати. Для цього використовується ключове слово AS, яке, втім, можна опустити, т. К. Неявно мається на увазі. Наприклад, запит

SELECT Type AS model, Type_id AS num FROM Product where Type_id \u003d 3

поверне (імена псевдонімів слід записувати без лапок):

Оператор LIKE призначений для порівняння рядка з зразком:

SELECT * FROM tbl where col_name LIKE "abc"

Цей запит повертає лише ті записи, які містять в стовпці col_name строкове значення abc.

У зразку дозволяється використовувати два трафаретних символу: "_" і "%". Перший з них замінює в шаблоні один довільний символ, а другий - послідовність довільних символів. Так, "abc%" відповідає будь-якому рядку, що починається на abc, "abc_" - рядку з 4-х символів, що починається на abc, "% z" - довільної рядку, що закінчується на z, і, нарешті, "% z%" - послідовності символів, що містять z.

Знайти всі записи таблиці Product, в яких значення Type починається з букви "a" можна так:

SELECT * FROM Product where Type LIKE "а%";

автоваги

Якщо шукана стрічка містить універсальний шаблон, то слід поставити керуючий символ в реченні ESCAPE. Цей керуючий символ повинен використовуватися в зразку перед трафаретним символом, повідомляючи про те, що останній слід трактувати як звичайний символ. Наприклад, якщо в деякому полі слід відшукати всі значення, що містять символ "_", то шаблон "% _%" призведе до того, що будуть повернуті всі записи з таблиці. В даному випадку шаблон потрібно записати таким чином:

"% | _%" ESCAPE "|"

Для перевірки значення на відповідність рядку "20%" можна скористатися таким оператором:

LIKE "20 #%" ESCAPE "#"

Оператор IS NULL дозволяє перевірити відсутність (наявність) NULL-значення в полях таблиці. Використання в цих випадках звичайних операторів порівняння може привести до невірних результатів, так як порівняння зі значенням NULL дає результат UNKNOWN (невідомо). Таким чином, умова відбору повинно виглядати так:

where col_name IS NULL, замість where col_name \u003d NULL.

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

SELECT * FROM tbl ORDER BY col_name;

В результаті цього запиту записи будуть повернуті в порядку зростання значення атрибута col_name.

Сортування записів можна виробляти і за кількома стовпцями. Для цього їх назви треба вказати після ORDER BY через кому:

SELECT * FROM tbl ORDER BY col_name1, col_name2.

Записи будуть відсортовані по полю col_name1; якщо зустрічається кілька записів з збігається значенням в колонці col_name1, то вони будуть відсортовані по полю col_name2.

Якщо потрібно відсортувати записи в зворотному порядку (наприклад, по спадаючій дати), потрібно вказати ORDER BY col_name DESC.

Для прямої сортування існує ключове слово ASC, яке прийнято в якості значення за замовчуванням.

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

Тому інформацію часто розбивають на сторінки і надають її користувачеві порціями. Посторінкова навігація використовується за допомогою ключового слова limit, за яким слід число виведених записів. У наступному запиті беруться перші 10 записів, при цьому одночасно здійснюється зворотна сортування по полю col_name1:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10

Для того щоб витягти наступні 10 записів, використовується ключове слово limit з двома значеннями: перше вказує позицію, починаючи з якої необхідно вивести результат, а друга - кількість видобутих записів:

SELECT * FROM tbl ORDER BY col_name1 DESC LIMIT 10,10

Для вилучення наступних 10 записів необхідно використовувати конструкцію LIMIT 20, 10.

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

SQL (Structured Query Language - «мова структурованих запитів») - універсальний комп'ютерний мову, застосовуваний для створення, модифікації та управління даними в реляційних базах даних. Мова SQL грунтується на реляційній алгебрі і являє собою сукупність операторів.

Існує 4 групи операторів. Розглянемо групу операторів маніпуляції даними (Data Manipulation Language, DML, SQL DML)

вибір даних

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

SELECT column FROM table

Оператори SELECT повинні містити слова SELECT та FROM; інші ключові слова є необов'язковими.

За ключовим словом SELECT слідують відомості про те, які саме поля необхідно включити в результуючий набір даних. Зірочка (*) позначає всі поля таблиці, наприклад:

Для вибору однієї колонки застосовується наступний синтаксис:

SELECT Company

Приклад вибору декількох колонок має вигляд:

SELECT Company, Phone, Mail

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

SELECT * FROM Customers

Цей запит поверне всі поля з таблиці Customers.

Для фільтрації результатів, що повертаються оператором SELECT, можна використовувати пропозицію WHERE (необов'язкове)

SELECT * FROM Products WHERE Category \u003d 4

У реченні WHERE можна використовувати різні вирази,

WHERE expression1 [(AND | OR) expression2 ...]

наприклад:

SELECT * FROM Products WHERE Category \u003d 2 AND Postavshik\u003e 10

SELECT Name, Price FROM Products WHERE Category \u003d 3 OR Price< 50

Можна використовувати такі оператори:

< Меньше

<= Меньше или равно

<> Не дорівнює

\u003e Більше

\u003e \u003d Більше або дорівнює

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

модифікація даних

Крім вилучення даних мову SQL може бути використаний для відновлення й видалення даних, копіювання записів в інші таблиці та виконання інших операцій. Нижче ми розглянемо оператори UPDATE, DELETE і INSERT, використовувані для вирішення деяких з цих завдань.

оператор UPDATE

Для зміни значень в одній або декількох колонках таблиці застосовується оператор UPDATE. Синтаксис цього оператора має вигляд:

UPDATE table SET column1 \u003d expression1 WHERE criteria

Вираз в реченні SET може бути константою або результатом обчислень. Наприклад, для підвищення цін всіх продуктів, що стоять менше 10 дол., Можна виконати наступний запит:

UPDATE Products SET Price \u003d Price * 1.1 WHERE Price< 10

оператор DELETE

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

DELETE FROM table WHERE criteria

Видалити всі продукти вартість яких менше 100.



Сподобалася стаття? поділіться їй