|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Відбір даних із таблиць засобами SQLВідбір даних із таблиць полягає в одержанні із них полів і записів, які задовільняють певні умови. Результат виконання запиту, на основі якого відбираються записи, називають вибіркою. Дані можна вибирати із однієї або декількох таблиць з допомогою оператора SELECT. Він має наступний формат: SELECT [DISTINCT] {*| <Список полів>} FROM <Список таблиць> [WHERE <Умови відбору>] [ORDER BY <Список полів для сортування>] [GROUP BY <список полів для групування>] [HAVING <умови групування>] [UNION <вкладенний оператор SELECT>] Тут SELECT – ключове слово, яке повідомляє СУБД, що ця команда – запит. Всі запити починаються цим словом з наступним пробілом. В результатному наборі даних можуть дозволятися або не дозволятися записи, які повторюються (тобто мають одинакові значення всіх полів). Цим режимом керує оператор DISTINCT. Якщо він відсутній, то в наборі даних дозволяються записи, які повторюються. В оператор SELECT обов’язково включається: список полів і операнд FROM, інші операнди можуть бути відсутні. Ключове слово FROM з наступним пробілом й іменами таблиць вказує на джерело інформації для запиту. В списку таблиць повинна бути як мінімум одна таблиця. Якщо в набір даних потрібно включити всі поля таблиці, то замість перерахованих імен полів вказують символ “*”. Якщо список містить поля декількох таблиць, то для вказання належності поля до таблиці використовують складене ім’я, яке включає ім’я таблиці та ім’я поля, розділені крапкою: <ім’я таблиці>.<ім’я поля>.
Операнд WHERE задає умови (критерії) відбору, які повинні задовольняти записи в результатному наборі даних. Вираз, який описує умову відбору, є логічним. Його елементами можуть бути імена полів, операції порівняння, арифметичні і логічні операції, спеціальні функції LIKE, NULL, IN. Операнд GROUP BY дозволяє виділяти групи записів в результатному наборі даних. Групою є записи з однаковими значеннями в полях, перерахованим за операндом GROUP BY. Операнд HAVING діє сумісно з оператором GROUP BY і використовується для відбору записів всередині групи. Операнд ORDER BY містить список полів, які визначають порядок сортування записів результатного набору даних. По замовчуванню сортування відбувається в порядку зростання значень. Якщо необхідно посортувати по спаданню, то після імені цього поля вказується описувач DESK. Оператори SELECT можуть мати складну структуру і бути вкладеними один в одного. Для об’єднання операторів використовується операнд UNION, в якому розміщається вкладений оператор SELECT, який називають підзапитом. Тут у синтаксичних конструкціях використовуються наступні позначення: · зірочка (*) для позначення "усі" - використовується у звичайному для програмування змісті, тобто "усі випадки, що задовольняють умову"; · квадратні дужки ([]) - означають, що конструкції, укладені в ці дужки, є необов'язковими (тобто можуть бути опущені); · фігурні дужки ({}) - означають, що конструкції, укладені в ці дужки, повинні розглядатися як цілі синтаксичні одиниці, тобто вони дозволяють уточнити порядок розбору синтаксичних конструкцій, заміняючи звичайні дужки, які використовуються в синтаксисі SQL; · трикрапка (...) - вказує на те, що безпосередньо попередня йому синтаксична одиниця факультативно може повторюватися один чи більш раз; · пряма риска (|) - означає наявність вибору з двох чи більше можливостей. Наприклад, позначення ASC|DESC указує: можна вибрати один з термінів ASC чи DESC; коли ж один з елементів вибору укладений у квадратні дужки, то це означає, що він вибирається за замовчуванням (так, [ASC]|DESC означає, що відсутність усієї цієї конструкції буде сприйматися як вибір ASC); · крапка з комою (;) - завершальний елемент операторів SQL; · кома (,) - використовується для відокремлення елементів списків; · пробіли () - можуть вводитися для підвищення наочності між будь-якими синтаксичними конструкціями операторів SQL; · прописні жирні латинські букви і символи - використовуються для написання конструкцій мови SQL і повинні (якщо це спеціально не обговорено) записуватися точно так, як показано; · малі літери - використовуються для написання конструкцій, що повинні замінятися конкретними значеннями, обраними користувачем, причому для визначеності окремі слова цих конструкцій зв'язуються між собою символом підкреслення (_); · терміни таблиця, стовпець,... - заміняють (з метою скорочення тексту синтаксичних конструкцій) терміни ім'я_таблиці, ім'я_стовпця,..., відповідно; · термін таблиця - використовується для узагальнення таких видів таблиць, як базова_таблиця, вигляд чи псевдонім; тут псевдонім служить для тимчасового (на момент виконання запиту) перейменування і (чи) створення робочої копії базової_таблиці (вигляду).
Управління полями Управління полями полягає у виборі полів таблиці (таблиць), які повинні ввійти в результатний набір даних. Приклад відбору всіх полів у таблиці:
select * from stat
В результаті цього запиту із таблиці stat в набір даних попадають всі поля і всі записи. При цьому порядок полів у наборі даних відповідає порядку фізичних полів у таблиці. Приклад перегляду декількох таблиць одночасно:
select * from stat select * from obsag
В результаті цього запиту із таблиць stat і obsag виводяться всі поля і всі записи таблиць. Якщо необхідно вибрати дані лише з декількох полів таблиці, то після слова SELECT через кому перелічуються у потрібному порядку назви цих полів. Порядок полів у наборі відповідатиме порядку полів у списку. Якщо ім’я поля вказано у списку неодноразово, то в наборі даних буде декілька стовпців з однаковими іменами і даними. Наприклад:
select cod, osvita from stat
В результаті виконання цього SQL-запиту здійснюється відбір із таблиці записів тільки двох полів: cod, osvita. Крім фізичних полів таблиць, у набір даних можна включати розрахункові поля. Для отримання розрахункового поля в списку полів вказується не ім’я цього поля, а вираз, за яким розраховується його значення. Наприклад:
select cod, summa, summa - 20 from obsag
У полі summa – 20 виведеться значення поля summa, зменшене на 20. Записи можуть мати одинакові значення деяких полів. Для того щоб включити в набір даних тільки записи з унікальними значеннями, перед списком полів вказується описувач DISTINCT:
SELECТ DISTINCT <ім’я поля>, <ім’я поля > FROM <ім’я таблиці> Наприклад, вивести із таблиці obsag коди рекламних агентів, які виконали операції: Select distinct cod from obsag
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |