Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



SELECT NUM, FAM, STIP

FROM STUDENTS;

 

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

 


2. Використання умов пошуку для відбору рядків

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

WHERE – речення команди SELECT, яке дозволяє встановлювати предикати, умова яких може бути або вірними або невірними для будь-якого запису таблиці. Команда здобуває тільки ті записи з таблиці, для яких таке твердження істинне. Припустимо, що необхідно вибрати прізвища і розміри стипендії студентів, при цьому цікавлять тільки такі, які отримують стипендію у розмірі 531.68. Такий запит матиме вигляд:

 

SELECT FAM, STIP FROM STUDENTS WHERE STIP=531.68;

 

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

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

= рівний чому-небудь:

> більш ніж;

< менше ніж;

>= більш ніж або рівно;

<= менше ніж або рівно;

<> не рівно.

Ці оператори мають стандартні значення для числових даних, а для символьних їх визначення залежить від кодів ASCII символів – вони слідують в алфавітному порядку, причому заголовні літери мають менший код, чим рядкові, тому, наприклад, "Z" < "а".

Припустимо, що необхідно вивести список студентів, що одержують стипендію, тобто для яких STIP>0. Для цього необхідно скористатися таким запитом:

 

SELECT * FROM STUDENTS

WHERE STIP > 0;

 

Стандартними булевими операторами, які використовуються в SQL, є AND, OR і NOT. Нагадаємо, як вони працюють:

· AND – використовує два операнди у формі A AND В і оцінює їх по відношенню до істини: чи вірні вони обидва;

· OR – використовує два операнди у формі A OR В і оцінює на істинність: чи вірний один з них;

· NOT – використовує один операнд у формі NOT А і замінює його значення з ІСТИНА на БРЕХНЮ, або навпаки.

Пов’язуючи предикати з булевими операторами, можна значно збільшити можливості вибірки даних. Наприклад, з таблиці STUDENTS можна отримати інформацію про всіх студентів, які мають телефон та не отримують стипендії за допомогою такого запиту:

 

SELECT * FROM STUDENTS

WHERE TEL>0 AND STIP=0.00;

 

Умова NOT може використовуватися для інвертування логічних значень. Наприклад, для виведення інформації про студентів, у яких з алгебри немає оцінки 3, можна скористатися наступним запитом:

 

SELECT * FROM USP WHERE NOT(ALG=3);

 

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

У пропозиції SELECT на додаток до традиційних реляційних і булевих операторів, розглянутих вище, можуть бути використані спеціальні оператори IN, BETWEEN, LIKE, і IS NULL.

Оператор IN визначає набір значень, в який дане значення повинне бути включене. Наприклад, якщо відповідно до учбової БД виникає необхідність у виведенні інформації про всіх студентів, ім’я яких Іван або Сергій, потрібно використовувати наступний запит:

 

SELECT * FROM STUDENTS

WHERE NAME = ‘Іван’ OR NAME = ‘Сергій’;

 

 

Проте є і більш простій спосіб отримати ту ж інформацію за допомогою запиту:

 

SELECT * FROM STUDENTS

WHERE SIMA IN (‘Іван’, ‘Сергій’);

 

Звідси ясно, що IN визначає набір значень за допомогою списку, що береться в круглі дужки, з роздільниками у вигляді ком. Він перевіряє різні значення вказаного поля, намагаючись знайти збіг із значеннями з набору. Якщо це трапляється, то предикат вірний. Якщо набір містить числові значення, а не символьні, то одиночні лапки опускаються. Прикладом такого запиту може служити пошук всіх студентів, що мають стипендію 530.27 і 530.75:

 

SELECT * FROM STUDENTS

WHERE STIP IN (530.27, 530.75);

 

Оператор BETWEEN декілька схожий на IN, але, на відміну від нього, BETWEEN визначає діапазон значень, в який повинні уміщатися шукані значення, що і робить предикат вірним. Структура оператора BETWEEN наступна: вводиться початкове значення, ключове слово AND і кінцеве значення. На відміну від IN, BETWEEN розрізняє порядок значень, і, отже, перше з них в реченні повинно бути першим по алфавітному або числовому порядку.

Наступний приклад здобуватиме з таблиці успішності порядкові номери і оцінки всіх студентів з геометрії, оцінки яких поміщені між 3 і 5:

 


Читайте також:

  1. SELECT NUM, FAM, NAME, STAT, DATA, TEL. STIP
  2. SELECT NUM, GEOM FROM USP
  3. Selection Of Address For Control Memory




Переглядів: 574

<== попередня сторінка | наступна сторінка ==>
SELECT NUM, FAM, NAME, STAT, DATA, TEL. STIP | SELECT NUM, GEOM FROM USP

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.016 сек.