лабораторна робота - 3 - ЗавданняSQL

Міністерство освіти і науки України

Саратовський державний технічний університет

Балаківський інститут техніки, технології та управління

SQL: ВИМІСКУ ДАНИХ - командаSELECT

Методичні рекомендації до лабораторної роботи з курсу

«Автоматизовані інформаційно-керуючі системи»

для студентів спеціальності 2101 за напрямом Т-02

Балаківського інституту техніки,

технології та управління

познайомитися із SQL-інструкціями;

навчитися в Access створювати найпростіші SQL запити за допомогою команди SELECT;

використання операторів IN, BETWEEN, LIKE, IS NULL.

Найбільш поширеним видом обробки даних під час вирішення користувачами АІС різних завдань є запити. Одним із способів формування запитів до бази даних у реляційних СУБД є їх вираження мовою SQL.

Мова структурованих запитів SQL (Structured Query Language) єдекларативний(непроцедурний) мову, що використовується для управління даними реляційних СУБД. Термін «непроцедурний» означає, що цією мовою можна формулювати речення (інструкції), «що зробити» з даними, але не можна проінструктувати, як зробити. Іншими словами, в цьому мові відсутні алгоритмічні конструкції, такі як мітки, оператори циклу, умовні переходи та ін. - Інструкціями.

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

Мова SQL складається з двохчастин:

мови опису (визначення) даних - DDL(Data Definition Language);

мова маніпулювання даними - DML(Data Manipulation Language).

Синтаксис SQL-інструкцій включає:

• назву інструкції (команду);

• пропозиції, які визначають джерела, умови операції;

• предикати, що визначають способи та режими відбору записів, що задаються пропозиціями;

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

Структуру SQL-інструкцій можна розділити дві основні частини (рис.1).

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

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

Мал. 1. Структура SQL-інструкцій

2. ЗАПИТАННЯ НА ВИБІРКУ

Для вибору інформації з таблиць бази даних використовується SQL-інструкцій SELECT (вибрати) мови SQL.

Спрощений синтаксис SQL-інструкційSELECTу загальному випадку виглядає так:

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

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

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

Завдання№1.Створити запит на вибірку в режимі SQL всіх значень полів ІМ'Я та Прізвище з таблиці СПИСОК.

Перейдіть на вкладкуЗапити,клацнувши у вікні бази даних кнопку

Запити. Натисніть кнопкуСтворитиі у вікніНовий запит

виберітьКонструктор.Натисніть кнопку ОК, у вікніДодавання таблицікнопкуЗакрити.Клацніть на розкривному списку кнопки Вигляд на панелі інструментів і виберітьрежим>SQL.У вікніЗапит 1: запитна вибірку наберіть:

Щоб запустити запит, натисніть кнопкуЗапускна панелі інструментів.

Завдання№2. Створити запит на вибірку у режимі SQL всіх стовпців таблиці СПИСОК.

Замість перерахування імен стовпців можна використовувати символ «*» (зірочка).

Результатом виконання запиту буде вся таблиця СПИСОК.

Завдання №3.Створити запит на вибірку в режимі SQL назв міст, де проживають студенти, відомості про які знаходяться в таблиці ОСОБИСТІ_ДАНІ.

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

Увага!Отримані в результаті SQL-запиту таблиці не повною мірою відповідають визначенню реляційного відношення. Зокрема, у них можуть бути кортежі з однаковими значеннями атрибутів.

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

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

В результаті отримаємо таблицю, в якій дублікати рядків виключено.

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

Завдання №4.Створити запит на вибірку в режимі SQL, який виконує вибірку імен усіх студентів з прізвищем Воробйов, відомості про які знаходяться в таблиці СПИСОК.

Для завдання у запиті умови відбору використовується ключове слово WHERE (де), що приймає значення істина або брехня для значення полів рядків таблиць, до яких звертається оператор SELECT. Пропозиція WHERE визначає, які рядки вказаних таблиць мають бути обрані. До таблиці, що є результатом запиту, включаються лише ті рядки, для яких умова (предикат), зазначена у реченні WHERE, набуває значення істина.

Запит буде виглядати так:

Завдання №5. Створити запит на вибірку в режимі SQL для отримання імен та прізвищ студентів, які навчаються у групі УІТ-41 та отримують стипендію (розмір стипендії більший за нуль).

У умовах, що задаються в пропозиції WHERE, можуть використовуватися операції порівняння, що визначаються операторами = (рівно), > (більше), = (більше чи одно), (не рівно), а також логічні оператори AND, OR та NOT.

SQL-запит буде виглядати так:

Завдання №6. Створити запит у режимі SQL. на вибірку з таблиці ОСОБИСТІ_ДАНІ відомості про студентів, які мають оцінки з фізикитільки 4 та 5.

При завданні логічної умови у реченні WHERE можуть бути використані оператори IN, BETWEEN, LIKE, IS NULL.

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

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

Предикат, побудований з використанням NOT IN, вважається істинним, якщо значення поля, ім'я якого вказано зліва NOT IN, не збігається з жодним із значень, перелічених у списку, вказаному в дужках праворуч від NOT IN.

Запит буде виглядати так:

Завдання №7.Створити заnpoc та режим SQL на вибірку відомостей про студентів, які не мають жодної екзаменаційної оцінки з фізики та математики, що дорівнює 4 і 5.

Завдання№8.Створити запит у режимі SQL на вибір записів про викладачів, години яких знаходяться в межах між 30 і 40.

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

Оператор BETWEEN може використовуватися як для числових, так і для типових символів полів.

Зanpoc матиме вигляд:

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

Завдання №9.Створити запит у режимі SQL на вибірку з таблиці СПИСОК відомостей про студентів, прізвища яких починаються налітеру "В".

Опеpamop LIKE застосовується лише до символьних полів. Цей оператор просмаmpueaem строкові значення полів з метою визначення, чи входить

Заданий в операторі LIKE підрядок (зразок пошуку) у символьний рядок-значення поля, що перевіряється.