Sql запити - синтаксис і основи побудови

Тепер ви можете відкрити всі кроки курсу відразу!
і виконувати SQL запити on-line!

Sql запити - синтаксис і основи побудови

Програмування та SQL

Курс програмування SQL 25 # 0153; - це практичний комп'ютерний курс вивчення SQL запитів - структурованих запитів до бази даних. Чому саме курс програмування. Незважаючи на те, що багато "буквоїди" будуть стверджувати, що SQL - це не мова програмування. а мова запитів. я вважаю, що курси по його вивченню можна і потрібно відносити до курсів програмування. По-перше, не називати ж їх курсами складання запитів, оскільки так їх можуть переплутати з курсами для початківців чиновників або прокурорів. По-друге, робота з базами даних настільки тісно переплітається з програмуванням. що неволодіння навичками SQL досить сильно звужує сферу застосування того чи іншого програміста. Ну і по-третє, структуровані запити (не обов'язково до баз даних) вже давно не на підступах до кордонів мов програмування - вони її вже переступили, і прикладом цього може служити технологія LINQ.

Це я все до того, що нові комп'ютерні технології по-іншому дивляться на сформовані за довгі роки підходи до класифікації чогось з області IT. Мови програмування, моделювання, мови запитів, розмітки. обчислення предикатів і т.д. і т.п. своїми кращими сторонами перетинаються і утворюють нові покоління мов спілкування з обчислювальними системами.

Для кого цей комп'ютерний курс

Курс програмування SQL 25 # 0153; - комп'ютерний курс вивчення SQL для тих, хто на практиці хоче розібратися з принципами побудови структурованих запитів. Ніяких початкових знань про SQL не потрібно, але пройшовши весь шлях в 25 кроків до кінця, ви цілком зможете продовжити самостійно вивчати всілякі розширення SQL. такі як PL / SQL. T-SQL і інші. Знайомство з працями Крістофера Дейта вітається.

Курс програмування SQL 25 # 0153; - практичний курс вивчення SQL. а, отже, він проводиться з використанням навчальної програми. яка дозволяє скласти і виконати запит на реальному наборі даних. Завантажити та ознайомитися з роботою навчальної програми можна і потрібно тут. Є також можливість виконувати практично всі запити в режимі on-line, перейшовши на сторінку спеціально створеного для цих цілей веб-додатки. працюючого з СУБД MySQL.

Всі приклади побудовані навколо запитів до трьох таблиць,

Sql запити - синтаксис і основи побудови

що містить наступну інформацію:

  • D_STAFF - список співробітників компанії;

Короткий огляд синтаксису розглянутих SQL запитів

Перед тим, як перейти до самого курсу вивчення SQL запитів, хочу зробити короткий огляд синтаксису розглянутих в ньому команд. Потрібно розуміти, що все SQL запити діляться на чотири групи: інструкції або оператори для визначення даних (Data Definition Language, DDL), для маніпуляції даними (Data Manipulation Language, DML), для визначення параметрів доступу до даних (Data Control Language, DCL) і для управління транзакціями (Transaction Control Language, TCL). Визначення даних має на увазі створення, редагування і видалення різних об'єктів бази даних. таких як таблиці (tables), табличні уявлення (views), синоніми (synonyms), збережені процедури, профілі користувача і т.п. Визначення параметрів доступу до даних - це процес нагородження або позбавлення об'єктів бази даних різного роду дозволами, привілеями та повноваженнями, наприклад, надання конкретного користувача бази даних (мається на увазі об'єкт типу user / schema, який визначає права доступу до розділів бази даних в розподілених СУБД , наприклад, в Oracle) можливості здійснювати запити до конкретної таблиці. Управління транзакціями, в найпростішому варіанті, зводиться до можливості зберегти поточні зміни, що накопичилися в результаті виконання послідовності запитів маніпуляції даними, або цілком їх все скасувати.

Найчастіше, під SQL запитами розуміється саме група операторів маніпуляції даними. Кожна окремо взята СУБД підтримує ту чи іншу групу SQL запитів в різній мірі / обсязі, але, найбільшим чином всі вони перетинаються саме в реалізації операцій маніпуляції даними. З цієї причини, в ході вивчення буде розглядатися тільки ця група команд: вибір. оновлення. додавання і видалення записів з таблиць. Більш того, перші 6 етапів будуть присвячені виключно процесу вибору даних - команді SELECT, і тільки останній етап розгляду решти трьох SQL команд. Команда вибору даних може використовуватися, як сама по собі, так і в якості підзапитів в контексті інших SQL запитів, і їй необхідно приділити особливу увагу.

Вибір даних або команда SELECT

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

Під "що" мається на увазі список полів таблиць або колонок підзапиту (через кому), під "звідки" - самі ці таблиці і підзапити (також через кому). У квадратних дужках вказані необов'язкові частини SQL інструкції, до яких, в тому числі, відноситься інструкція WHERE (де). Після ключового слова WHERE перераховуються обмеження на значення колонок, об'єднані логічними операціями І (AND) і АБО (OR). Найпростіший SQL запит виглядає приблизно так:

Відразу можна помітити, що в умовах відбору допускається використовувати не тільки ті поля, що перераховані після ключового слова SELECT, а будь-які поля перерахованих після ключового слова FROM таблиць. Інші необов'язкові конструкції SQL запиту SELECT, такі як угруповання (GROUP BY) і відбір записів за значенням функцій (HAVING) розглядаються на етапі знайомства з SQL функціями. Підзапити або, по-науковому, суперпозиція SELECT розглядається на передостанньому етапі.

Ефективно використовувати час або команда UPDATE

Призначення команди UPDATE - оновлення існуючих записів у зазначеній таблиці. Зазначаємо, де і чого хочемо змінити, а після ключового слова WHERE встановлюємо критерії відбору оновлюваних записів. У команді поновлення даних, як і в інших SQL запитах, можна використовувати вкладені запити: наприклад, можна визначити як присвоюється полю значення результат підзапиту, який повертає тільки одну колонку і одну сходинку.

Додавання даних або команда INSERT

Видалення даних або команда DELETE

Видалення рядків з однієї таблиці або відразу з декількох таблиць, рядки яких об'єднані умовами. Тут все також очевидно. Зазначаємо, з якої таблиці видаляємо дані, а в частині WHERE відбираємо видаляються дані. У другому варіанті SQL запиту з використанням інструкції DELETE показаний узагальнений синтаксис видалення записів відразу з декількох таблиць. В умовах відбору (в частині WHERE) також можна використовувати вкладені запити.

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

Основні етапи комп'ютерного курсу

Прості запити (Кроки 1-7). Виконання найпростіших SQL запитів з використанням команди SELECT. Визначення і складових критеріїв відбору записів за допомогою конструкції WHERE. Застосування операторів BETWEEN і LIKE. Побудова ієрархічного запиту з використанням псевдонімів таблиць і полів.

Сортування (Кроки 8,9). Знайомство з конструкцією ORDER BY на прикладах простий сортування та сортування по декількох полях. Управління порядком сортування з використанням ключових слів ASC і DESC.

Об'єднання даних. Частина 1 (Кроки 10-12). Огляд найбільш популярних операцій об'єднання полів з різних таблиць. Порівняння результатів операцій об'єднання INNER JOIN, LEFT JOIN і RIGHT JOIN. Приклади об'єднань з додатковими критеріями відбору та параметрами сортування.

Об'єднання даних. Частина 2 (Кроки 13, 14). Огляд додаткових операцій об'єднання полів, таких як FULL JOIN і CROSS JOIN, а також приклад використання операції UNION, яка об'єднує записи результатів різних, порівнянних за структурою і типом полів SQL запитів.

Функції (Кроки 15-19). Знайомство з функціями аргументу LEN, MID, UCASE, LCASE і функціями результату MIN, MAX, SUM, AVG і COUNT. Застосування функцій для виведення статистики, а також, для визначення критеріїв відбору за допомогою конструкцій HAVING і GROUP BY.

Складні запити (Кроки 20-22). Приклад більш складних SQL запитів з використанням суперпозиції SELECT. Робота з множинами. Складання критеріїв відбору з використанням ключових слів IN і NOT IN, що визначають присутність елемента в безлічі, представленому проміжним SELECT запитом.

Зміна набору даних (Кроки 23-25). Модифікація набору даних за допомогою SQL запитів. Приклади використання команди поновлення UPDATE, вставки INSERT і видалення DELETE записів таблиці.

Приклади програм (вихідний код). виконують SQL запити до розглянутої тут базі даних на мовах програмування C # і VB.NET. можна побачити на сторінках курсу основ програмування.

Інші, пов'язані з SQL і базою даних питання: