Контакти

Приклади SQL запитів до бази MySQL. Мова запитів SQL Готові SQL запити

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

Виявляється, що для створення професійного інтернет-проекту цього буде замало. Sql використовується для роботи з БД і створення додатків для Вордпрес. Розглянемо як використовувати запити докладніше.

Що це таке

Sql – мова структурованих запитів. Створено визначення типу даних, надання доступу до них та обробці інформації за короткі проміжки часу. Він описує компоненти або результати, які ви хочете бачити на інтернет-проекті.

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

Що може робити

Мова sql дозволяє:

  • створювати таблиці;
  • змінювати отримувати та зберігати різні дані;
  • об'єднувати інформацію у блоки;
  • захистити дані;
  • створювати запити у access.

Важливо! Розібравшись із sql ви зможете писати програми для Вордпрес будь-якої складності.

Яка структура

БД складається з таблиць, які можна подати у вигляді Ексель файлу.

У неї є ім'я, колонки та ряд з якоюсь інформацією. Створювати подібні таблиці можна за допомогою запитів sql.

Що потрібно знати


Основні моменти щодо Sql

Як зазначалося вище, запити застосовуються для обробки та введення нової інформації в БД, що складається з таблиць. Кожен її рядок – це окремий запис. Отже, створимо БД. Для цього напишіть команду:

Create database ‘bazaname’

У лапках пишемо ім'я БД на латиниці. Намагайтеся вигадати для неї зрозуміле ім'я. Не створюйте бази типу «111», «www» тощо.

Після створення БД встановлюємо:

SET NAMES 'utf-8'

Це потрібно, щоб контент на сайті правильно відображатися.

Тепер створюємо таблицю:

CREATE TABLE 'bazaname'. ‘table’ (

id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,

log VARCHAR(10),

pass VARCHAR(10),

date DATE

У другому рядку ми прописали три атрибути. Подивимося, що вони означають:

  • Атрибут NOT NULL означає, що осередок не буде порожнім (поле обов'язкове для заповнення);
  • Значення AUTO_INCREMENT - автозаповнення;
  • PRIMARY KEY – первинний ключ.

Як додати інформацію

Для заповнення поля створеної таблиці значеннями використовується оператор INSERT. Пишемо такі рядки коду:

INSERT INTO ‘table’

(login, pass, date) VALUES

('Vasa', '87654321', '2017-06-21 18:38:44');

У дужках вказуємо назву стовпців, а наступної - значення.

Важливо! Дотримуйтесь послідовності назв і значень стовпців.

Як оновити інформацію

Для цього використовується команда UPDATE. Подивимося, як змінити пароль конкретного користувача. Пишемо такі рядки коду:

UPDATE 'table' SET pass = '12345678' WHERE id = '1'

Тепер поміняйте пароль '12345678'. Зміни відбуваються у рядку з id=1. Якщо не писати команду WHERE – поміняються всі рядки, а не конкретні.

Рекомендую вам придбати книгу « SQL для чайників ». За її допомогою ви зможете крок за кроком професійно працювати з БД. Вся інформація побудована за принципом від простого до складного і добре сприйматиметься.

Як видалити запис

Якщо ви написали щось не так, виправте це за допомогою DELETE. Працює так само, як і UPDATE. Пишемо такий код:

DELETE FROM 'table' WHERE id = '1'

Вибірка інформації

Для отримання значень з БД використовується команда SELECT. Пишемо такий код:

SELECT * FROM 'table' WHERE id = '1'

У цьому прикладі в таблиці вибираємо всі наявні поля. Це відбувається, якщо прописати в команді зірочку «*». Якщо потрібно вибрати якесь вибіркове значення, пишемо так:

SELECT log , pass FROM table WHERE id = ‘1’

Необхідно відзначити, що вміння працювати з базами даних буде недостатньо. Для створення професійного інтернет-проекту доведеться навчитися додавати на сторінки дані з БД. Для цього ознайомтеся з мовою веб-програмування php. У цьому вам допоможе класний курс Михайла Русакова .


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

Відбувається за допомогою DROP. Для цього напишемо такі рядки:

DROP TABLE table;

Виведення запису з таблиці за певною умовою

Розглянемо такий код:

SELECT id, countri, city FROM table WHERE people>150000000

Він відобразить записи країн, де населення більше ста п'ятдесяти мільйонів.

Об'єднання

Зв'язати разом кілька таблиць можна за допомогою Join. Як це працює подивіться докладніше у цьому відео:

PHP та MySQL

Ще раз хочу наголосити, що запити при створенні інтернет-проекту – це звичайна справа. Щоб їх використовувати у php-документах, виконайте такий алгоритм дій:

  • Поєднуємося з БД за допомогою команди mysql_connect();
  • Використовуючи mysql_select_db(), вибираємо потрібну БД;
  • Обробляємо запит за допомогою mysql_fetch_array();
  • Закриваємо з'єднання командою mysql_close().

Важливо! Працювати з БД не складно. Головне – правильно написати запит.

Початківці вебмайстра подумають. А що почитати з цієї теми? Хотілося б порекомендувати книгу Мартіна Грабера « SQL для простих смертних ». Вона написана так, що новачкам все буде зрозуміло. Використовуйте її як настільну книгу.

Але це теорія. Яка ж справа на практиці? Насправді інтернет-проект потрібно не тільки створити, а ще й вивести в ТОП Гугла та Яндекса. У цьому вас допоможе відеокурс Створення та розкрутка сайту ».


Відео інструкція

Чи залишилися ще питання? Перегляньте детальніше онлайн відео.

Висновок

Отже, розібратися з написанням SQL запитів не так важко, як здається, але зробити це потрібно будь-якому вебмайстру. У цьому допоможуть відеокурси, описані вище. Підпишіться на мою групу ВКонтакте щоб першими дізнаватись про появу нової цікавої інформації.

Вибірка даних з таблиці SQL здійснюється за допомогою наступної конструкції:
SELECT *|
[AS ] FROM [WHERE [AND ]]
[GROUP BY | [ HAVING ]]
[ORDER BY [COLLATE ] ]

Розділ SELECT


Визначити список вихідних стовпців
Список вихідних стовпців може бути вказаний декількома способами:
. Вказати символ *, який позначає включення до результатів запиту всіх колонок запиту у природній послідовності.
. Перелічити у бажаному порядку лише потрібні.
Приклад: SELECT * FROM Customer

Включити обчислювані стовпці
Як обчислювані стовпці запиту можуть виступати:
. Результати найпростіших арифметичних виразів (+, -, /, *_ або конкатенації рядків (||)).
. Результати функцій агрегування COUNT(*)|(AVG|SUM|MAX|MIN|COUNT) ()

Примітка: У SQL Server додатково можна використовувати оператор % - модуль (цілий залишок від розподілу).
Включити константи
Як стовпці можуть виступати константи числового і символьного типів.

Примітка: SELECT DISTINCT 'Для', SNum, Comm*100, '%', SName FROM SalesPeople

Перейменувати вихідні стовпці
Обчислюваним, а також будь-яким іншим стовпцям, за бажанням, можна надати унікальне ім'я за допомогою ключового слова AS: AS

Примітка: У SQL SERVER дати нове ім'я стовпцю можна за допомогою оператора присвоєння =

Вказати принцип обробки дублів рядків
DISTINCT – забороняє появу рядків-дублів у вихідній множині. Його можна встановити один раз для оператора SELECT. На практика спочатку формується вихідна множина, впорядковується, а потім з неї видаляються значення, що повторюються. Зазвичай це займає багато часу і не слід цим зловживати.
ALL (діє за замовчуванням) – забезпечує включення до результатів запиту та повторюваних значень

Увімкнути агрегатні функції
Функції агрегування (функції над множинами, статистичні чи базові) призначені для обчислення деяких значень для заданої множини рядків. Використовуються такі агрегатні функції:
. AVG | SUM (|) - підраховує середнє значення | суму від або, можливо, без урахування дублів, ігноруючи NULL.
. MIN | MAX () - знаходить максимальне | мінімальне значення.
. COUNT(*) – підраховує кількість рядків у множині з урахуванням NULL значень | значень у стовпці, ігноруючи значення NULL, можливо без дублів.

Примітки щодо використання:
. Функції агрегування не можна вкладати одна в одну.
. Через значення NULL вираз SUM(F1)-SUN(F2)Sum(F1-F2)
. Всередині функцій агрегування допустимі вирази AVG(Comm*100)
. Якщо в результаті запиту не отримано жодного рядка або всі значення NULL, то функція COUNT повертає 0, а інші – NULL.
. Функції AVG і SUM можуть застосовуватися тільки для числових типів, даних Interval, а інші можуть використовуватися для будь-яких типів даних.
. Функція COUNT повертає ціле число (типу Integer), інші успадковують типи даних значень, внаслідок чого слід стежити за точністю результату функції SUM (можливе переповнення) і масштабом функції AVG.

Приклади на агрегатні функції:

SELECT COUNT(*) FROM Customer
. SELECT COUNT(DISTINCT SNum) FROM Orders
. SELECT MAX(Amt+Binc) FROM Orders //Якщо Binc – додаткове числове поле в Orders
. SELECT AVG(Comm*100) FROM SalesPeople //Вираження всередині функції

Особливості промислових серверів
У СУБД Oracle у розділі SELECT можна вказувати додаткові вказівки-підказки (hints) (27 штук), що впливають на вибір типу оптимізатора запитів та його роботу.
SELECT /*+ ALL_ROWS */ FROM Orders… //найкраща продуктивність

У СУБД SQL Server:
] – задає кількість або відсоток рядків, що зчитуються. При однакових останніх значеннях можливе зчитування всіх таких рядків і загальна кількість може бути більшою від зазначеного.

DECLARE @p AS Int
SELECT @p=10
SELECT TOP(@p) WITH TIES * FROM Orders

Розділ FROM

Цей розділ є обов'язковим і дозволяє:
Вказати імена вихідних таблиць
У розділі FROM вказуються імена таблиць та/або уявлень, з яких витягуватимуться дані. Причому одна й та сама таблиця може кілька разів входити до цього розділу.
Примітка: У СУБД Oracle можна вибирати рядки зі знімків (Snapshot).

Вказати псевдоніми таблиць
p align="justify"> Під псевдонімом таблиці розуміється додатковий, зазвичай короткий ідентифікатор, що вказується через пробіл після імені таблиці/подання.
Приклад: Customer C

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

1) Перехресне з'єднання
CROSS JOIN - визначаються всі можливі поєднання пар рядків по одному для кожного рядка кожної з таблиць, що об'єднуються. Еквівалентно картезіанському з'єднанню. Іноді називає декартовим твором.

2) Природне з'єднання
JOIN — визначаються ті рядки таблиць А і В, у яких значення стовпців однакові. Називають не зовсім повноцінним еквісполукою. Це автоматичне з'єднання кількома стовпцями з усіма однаковими іменами (join over).

3) З'єднання об'єднанням
UNION JOIN — визначаються ті рядки кожної з таблиць, котрим збіги були встановлені. Стовпчики з іншої таблиці заповнюються значеннями NULL. Зазначимо, що з'єднання UNION та оператор UNIUN – це не те саме. З'єднання протилежне з'єднанню типу INNER.

4) Об'єднання у вигляді предикату
JOIN ON - фільтрує рядки. Предикат може містити підзапит.

5) Об'єднання у вигляді імен стовпців
JOIN USING() – визначає з'єднання лише за вказаними стовпцями, тоді як NATURAL – автоматично по всіх однойменних.

Типи з'єднань

є одним із аргументів: INNER|{LEFT | RIGHT | FULL)
. INNER- включає рядки, в яких є стовпці з даними, що збігаються об'єднуються таблиць. Використовується за промовчанням.
. LEFT– включає всі рядки таблиці А (ліва таблиця) і всі збігаються значення з таблиці B. Стовпці рядків, що не збігаються, заповнюються NULL-значеннями.
. RIGHT– включає всі рядки таблиці B (права таблиця) та всі збігаються значення таблиці А. зворотний варіант для лівого об'єднання.
. FULL– включає всі рядки обох таблиць. Стовпці рядків, що збігаються, заповнені реальними значеннями, а рядків, що не збігаються - NULL-значеннями.
. OUTER (зовнішній)– уточнююче слово, що означає, що рядки, що не збігаються, з провідної таблиці включаються разом з збігаються.

Приклади на зовнішнє об'єднання:

SELECT * FROM SalesPeople INNER JOIN Customer ON SalesPeople.City=Customer.City
. SELECT * FROM Customer LEFT OUTER JOIN SalesPeople ON SalesPeople.City=Customer.City
. SELECT * FROM Customer FULL OUTER JOIN SalesPeople ON SalesPeople.City=Customer.City

Картезіанські з'єднання та самооб'єднання
. Якщо при включенні кількох таблиць не використовуються ті чи інші варіанти з'єднання таблиць, такі сполуки називаються картезіанськими. Вони використовуються для отримання рядків із двох різних таблиць. Тоді наприклад, при з'єднанні двох таблиць, кожна з яких містить по 20 рядків, підсумкова таблиця міститиме 100 рядків – кожен із рядків однієї таблиці з кожним із рядків іншої таблиці. SELECT * FROM Customer, Orders.
. Сполуки однакових таблиць називають самооб'єднанням (self-join).

Розділ WHERE

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

Основні види з'єднань:
. Еквієднання– це сполуки таблиць, засновані на рівності. Зв'язок між таблицями по ключових стовпцях забезпечує цілісну зв'язок. Якщо при з'єднанні використовуються первинний і зовнішній ключ, то завжди існує відношення «один-багатьом» (предок/нащадок).

. Тета-з'єднання– це таке з'єднання, коли як оператор порівняння застосовується нерівність (, >=, Примітки з SQL Server
У SQL Server ліве, праве та повне з'єднання можна задати у розділі WHERE за допомогою [*]=[*]. Фактично реалізується зовнішнє з'єднання, яке в інших СУБД реалізується розділ FROM.

Приклади внутрішніх з'єднань

SELECT C.CName, S.SName, S.City FROM SalesPeople S, Customer C WHERE S.City=C.City
SELECT SName, CName FROM SalesPeople, Customer WHERE SName

2. Фільтрація рядків вихідної множини
Розділ WHERE дозволяє визначити, тобто. логічна умова, яка може бути або істинною, або хибною. Крім того, одне або обидва порівнювані значення в предикаті можуть дорівнювати NULL, тоді результат порівняння може дорівнювати UNKNOWN. Оператор SELECT витягує лише ті рядки з таблиць, для яких має значення TRUE, крім рядків, для яких він дорівнює FALSE або UNKNOWN.

SQL - Урок 4. Вибір даних - оператор SELECT

Отже, в нашій базі даних є три таблиці: users (користувачі), topics (теми) і posts (повідомлення). І ми хочемо подивитися, які дані містяться. Для цього в SQL існує оператор SELECT. Синтаксис його використання наступний:

SELECT що_вибрати FROM звідки_вибрати;


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

Давайте спочатку подивимося всі стовпці з таблиці users:

SELECT * FROM users;

Ось і всі наші дані, які ми вносили до цієї таблиці. Але припустимо, що ми хочемо подивитися тільки стовпець id_user (наприклад, у минулому уроці, нам треба було заповнити таблиці topics (теми) знати, які id_user є у таблиці users). Для цього у запиті ми вкажемо ім'я цього стовпця:

SELECT id_user FROM users;

Ну, а якщо ми захочемо подивитися, наприклад, імена та e-mail наших користувачів, то ми перерахуємо стовпці, що цікавлять, через кому:

SELECT name, email FROM users;

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

SELECT * FROM topics;

Зараз у нас лише 4 теми, а якщо їх буде 100? Хотілося б, щоб вони виводилися, наприклад, за абеткою. Для цього в SQL існує ключове слово ORDER BYпісля якого вказується ім'я стовпця за яким відбуватиметься сортування. Синтаксис наступний:

SELECT ім'я_стовпця FROM ім'я_таблиці ORDER BY ім'я_стовпця_сортування;



За умовчанням сортування йде за зростанням, але це можна змінити, додавши ключове слово DESC

Тепер наші дані відсортовані в порядку спадання.

Сортування можна проводити відразу за кількома стовпцями. Наприклад, наступний запит відсортує дані по стовпцю topic_name, і якщо в цьому стовпці буде кілька однакових рядків, то в стовпці id_author буде здійснено сортування за спаданням:

Порівняйте результат із результатом попереднього запиту.

Дуже часто нам не потрібна вся інформація з таблиці. Наприклад, ми хочемо дізнатися, які теми було створено користувачем sveta (id=4). Для цього у SQL є ключове слово WHERE, синтаксис такий запит:

Для прикладу умовою є ідентифікатор користувача, тобто. нам потрібні лише ті рядки, у стовпці id_author яких стоїть 4 (ідентифікатор користувача sveta):

Або ми хочемо дізнатися, хто створив тему "велосипеди":

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

Оператор Опис
= (Рівно) Відбираються значення, що рівні зазначеному

Приклад:

SELECT * FROM topics WHERE id_author=4;

Результат:

> (більше) Відбираються значення більше від зазначеного

Приклад:

SELECT * FROM topics WHERE id_author>2;

Результат:

< (меньше) Відбираються значення менше від зазначеного

Приклад:

SELECT * FROM topics WHERE id_author
Результат:

>= (більше чи одно) Відбираються значення великі та рівні вказаному

Приклад:

SELECT * FROM topics WHERE id_author>=2;

Результат:

<= (меньше или равно) Відбираються значення менші та рівні вказаному

Приклад:

SELECT * FROM topics WHERE id_author
Результат:

!= (Не рівно) Відбираються значення не рівні вказаному

Приклад:

SELECT * FROM topics WHERE id_author!=1;

Результат:

IS NOT NULL Відбираються рядки, що мають значення у вказаному полі

Приклад:

SELECT * FROM topics WHERE id_author IS NOT NULL;

Результат:

IS NULL Відбираються рядки, які не мають значення у вказаному полі

Приклад:

SELECT * FROM topics WHERE id_author IS NULL;

Результат:

Empty set – немає таких рядків.

BETWEEN (між) Відбираються значення між зазначеними

Приклад:

SELECT * FROM topics WHERE id_author BETWEEN 1 AND 3;

Результат:

IN (значення міститься) Відбираються значення, які відповідають зазначеним

Приклад:

SELECT * FROM topics WHERE id_author IN (1, 4);

Результат:

NOT IN (значення не міститься) Відбираються значення, крім зазначених

Приклад:

SELECT * FROM topics WHERE id_author NOT IN (1, 4);

Результат:

LIKE (відповідність) Відбираються значення, що відповідають зразку

Приклад:

SELECT * FROM topics WHERE topic_name LIKE "вел%";

Результат:

Можливі метасимволи оператора LIKE будуть розглянуті нижче.

NOT LIKE (не відповідність) Відбираються значення, що не відповідають зразку

Приклад:

SELECT * FROM topics WHERE topic_name NOT LIKE "вел%";

Результат:

Метасимволи оператора LIKE

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

Найпоширеніший метасимвол - % . Він означає будь-які символи. Наприклад, якщо нам треба знайти слова, що починаються з букв "вел", ми напишемо LIKE "вел%", а якщо ми хочемо знайти слова, які містять символи "клуб", то ми напишемо LIKE "%клуб%". Наприклад:

Ще один часто використовуваний метасимвол - _ . На відміну від %, який позначає кілька чи жодного символу, нижнє підкреслення означає рівно один символ. Наприклад:

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

На сьогодні досить. У наступному уроці ми навчимося складати запити до двох та більше таблиць. А поки що спробуйте самостійно скласти запити до таблиці posts (повідомлення).

Отже, у БД forum є три таблиці:

· users (користувачі);

· topics (теми);

· Posts (повідомлення).

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

SELECT що_вибрати FROM звідки_вибрати;

Замість «що_вибрати» необхідно вказати або ім'я стовпця, значення якого хочемо побачити, або імена кількох стовпців через кому, або символ зірочки (*), що означає вибір усіх стовпців таблиці. Замість «звідки вибрати» слід вказати ім'я таблиці.

Спочатку подивимося всі стовпці з таблиці users:

SELECT * FROM users;

Це всі дані, які були внесені до таблиці.

Припустимо, що необхідно подивитися тільки стовпець id_user (оскільки для заповнення таблиці topics (теми) треба знати, які id_user є в таблиці users). Для цього у запиті вкажемо ім'я цього стовпця:

SELECT id_user FROM users;

Якщо необхідно подивитися, наприклад, імена та e-mail користувачів, то треба перерахувати стовпці, що цікавлять, через кому:

SELECT name, email FROM users;

Аналогічно можна подивитися, які дані містять й інші таблиці.

Спочатку подивимося, які теми:

SELECT * FROM topics;

Зараз у таблиці лише 4 теми, а якщо їх буде 100? Хотілося б, щоб вони виводилися, наприклад, за абеткою. Для цього в SQL існує ключове слово ORDER BY, після якого вказується ім'я стовпця, яким відбуватиметься сортування. Синтаксис наступний:

SELECT ім'я_стовпця FROM ім'я_таблиці ORDER BY ім'я_стовпця_сортування;

За умовчанням сортування йде за зростанням, але це можна змінити, додавши ключове слово DESC.

Тепер дані відсортовані в порядку спадання.

Сортування можна проводити відразу за кількома стовпцями. Наприклад, наступний запит відсортує дані по стовпцю topic_name, і якщо в цьому стовпці буде кілька однакових рядків, то в стовпці id_author буде здійснено сортування за спаданням:

Порівняйте результат із результатом попереднього запиту.

Дуже часто користувачеві не потрібна вся інформація з таблиці. Наприклад, необхідно дізнатися, які теми було створено користувачем sveta (id = 4). Для цього у SQL є ключове слово WHERE, синтаксис такий запит:

SELECT имя_столбца FROM имя_таблицы WHERE умова;

Для прикладу умовою є ідентифікатор користувача, тобто. потрібні лише ті рядки, у стовпці id_author яких стоїть 4 (ідентифікатор користувача sveta):

SELECT * FROM topics WHERE id_author=4;

Тепер необхідно дізнатися, хто створив тему "велосипеди":

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

Оператор Опис
= (Рівно) Відбираються значення, що рівні зазначеному. Приклад: SELECT * FROM topics WHERE id_author = 4; Результат:
> (більше) Відбираються значення більше, ніж зазначене. Приклад: SELECT * FROM topics WHERE id_author > 2; Результат:
< (меньше) Відбираються значення менше вказаного. Приклад: SELECT * FROM topics WHERE id_author< 3; Результат:
>= (більше чи одно) Відбираються значення великі та рівні зазначеному. Приклад: SELECT * FROM topics WHERE id_author> = 2; Результат:
<= (меньше или равно) Відбираються значення менші та рівні вказаному. Приклад: SELECT * FROM topics WHERE id_author<= 3; Результат:
!= (Не рівно) Відбираються значення не рівні вказаному. Приклад: SELECT * FROM topics WHERE id_author! = 1; Результат:
IS NOT NULL Відбираються рядки, що мають значення у вказаному полі. Приклад: SELECT * FROM topics WHERE id_author IS NOT NULL; Результат:
IS NULL Відбираються рядки, які мають значення у вказаному полі. Приклад: SELECT * FROM topics WHERE id_author IS NULL; Результат:
Empty set – немає таких рядків.
BETWEEN (між) Відбираються значення між зазначеними. Приклад: SELECT * FROM topics WHERE id_author BETWEEN 1 AND 3; Результат:
IN (значення міститься) Відбираються значення, які відповідають зазначеним. Приклад: SELECT * FROM topics WHERE id_author IN (1, 4); Результат:
NOT IN (значення не міститься) Відбираються значення, крім зазначених. Приклад: SELECT * FROM topics WHERE id_author NOT IN (1, 4); Результат:
LIKE (відповідність) Відбираються значення, що відповідають зразку. Приклад: SELECT * FROM topics WHERE topic_name LIKE "вел%"; Результат:
Можливі метасимволи оператора LIKE будуть розглянуті нижче.
NOT LIKE (не відповідність) Відбираються значення, що не відповідають зразку. Приклад: SELECT * FROM topics WHERE topic_name NOT LIKE "вів%"; Результат:

Практична робота №9

Тема заняття:Створення запитів SQL.

Мета заняття:Навчитися використовувати мову SQL для створення запитів.

План заняття :

1. Створення SQL запитів вибірку.

2. Створення SQL запитів вибірку з умовою відбору.

3. Створення SQL запитів із обчисленням.

4. Створення SQL запитів на угруповання.

SQL ( Structured Query Language) – структурована мова запитів, що надає засоби створення та обробки даних у БД.

Для того, щоб створити запит з використанням засобів мови SQL необхідно виконати такі дії:

    Створити запит за допомогою конструктора.

· У конструкторі запитів клацніть правою кнопкою миші в області відображення таблиць та в контекстному меню виберіть «Режим SQL».

1. створенняSQL запити на вибірку.

Створимо найпростіший запит на вибірку товарів та замовлень на ці товари за допомогою SQL.

· Відкрийте редактор SQL запитів.

· У вікно редактора впишіть наступну процедуру запиту

SELECT Замовлення.[Код замовлення], Товари.[Найменування товару], Замовлення. Кількість, Товари. Ціна, Товари.[Едіниця виміру], Замовлення.[Дата замовлення]

FROM Товари INNER JOIN Замовлення ON Товари. [Код товару] = Замовлення. Товар;

· Збережіть запит під ім'ям вибірка SQL.

· Перевірте правильність роботи запиту.

Розберемо синтаксис цієї операції:

SELECT – оператор, який повідомляє базі даних, що дана операція є запитами (практично всі запити починаються з цього слова). Після оператора SELECT зазвичай починається перерахування полів, які будуть включені в запит. Наприклад, запис SELECT Замовлення.[Код замовлення] означатиме, що в запит буде включено поле Код замовленняіз таблиці «Замовлення». Якщо ім'я поля містить пробіли його необхідно вказувати в квадратних дужках.

FROM – оператор, що відповідає за джерело даних. Якщо необхідно вказати зв'язки між таблицями, потрібно використовувати оператор INNER JOIN.

INNER JOIN - Об'єднує записи із двох таблиць, якщо сполучні поля цих таблиць містять однакові значення. Наприклад запис «FROM Товари INNER JOIN Замовлення ON Товари. [Код товару] = Замовлення. Товар» означає, що в даній процедурі запиту поле Код товаруЗ таблиці "Товари" є джерелом запису для поля Товартаблиці «Замовлення»

Завдання:Створіть SQL запит, що дозволяє вивести відомості про клієнтів, що купили товар.

2. Створення запитів SQL на вибірку з умовою відбору.

За допомогою мови SQL створимо запит, що дозволяє вивести відомості про співробітників, які продали товар кількістю більше 3.

Для створення запитів за умови відбору використовується оператор WHERE.

· Створіть SQL запит на вибірку містить такі поля: Прізвище ім'я по батьковіСпівробітника, Код замовленняЯкий той обслужити, Кількість.Перевірте правильність його роботи.

· Тепер необхідно додати умову відбору. Відкрийте редактор SQL і в кінець процедури запиту додайте «WHERE (((Замовлення. Кількість)>3))».

· Збережіть запит під ім'ям "Вибірка з умовою відбору SQL". Перевірте запит.

Завдання:Створіть SQL запит, що відбирає всі товари, ціна на які не припинена і ціна не перевищує 20 грошових одиниць.

3. Створення запитів SQL з обчисленням.

Створимо SQL запит, що дозволяє вивести Прізвище клієнта, Найменування товару, суму замовлення (ціна * кількість).

Продцедура запиту виглядає так:

SELECT Клієнти. Прізвище, Товари.[Найменування товару], Замовлення! Кількість*Товари! Ціна AS [Сума замовлення]

FROM Товари INNER JOIN (Клієнти INNER JOIN Замовлення ON Клієнти. [Код клієнта] = Замовлення. Клієнт) ON Товари. [Код товару] = Замовлення. Товар;

4. Створення запитів SQL на групування.

Створимо запит, який дозволить визначити на яку суму всього було замовлено товарів кожним клієнтом.

Для групування записів використовується оператор GROUP BY.

Продцедура запиту виглядає так:

SELECT Клієнти. Прізвище, Sum (Замовлення! Кількість * Товари! Ціна) AS [Сума замовлень]

FROM Товари INNER JOIN (Клієнти INNER JOIN Замовлення ON Клієнти. [Код клієнта] = Замовлення. Клієнт) ON Товари. [Код товару] = Замовлення. Товар

GROUP BY Клієнти. Прізвище;

Контрольні питання:

1. Що таке SQL?

2. Як створити запит SQL?

3. Структурні складові мови SQL.

4. Перерахуйте основні оператори SQL.

5. Загальні відомості про операторів SELECT, WHERE, FROM, INNER JOIN, GROUP BY.

Завдання для встигаючих:Спробуйте самостійно створити SQL запит, який дозволяє видаляти всі записи з таблиці «Товари» ціна на які менше 3 грошових одиниць

Висновок:У ході виконання даної роботи було вивчено основні способи та методи створення SQL запитів. Розглянуто структурні складові мови запитів, а також описано синтаксис використання операторів.



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