русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Синтаксис оператора SELECT


Дата добавления: 2015-07-09; просмотров: 453; Нарушение авторских прав


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

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

SELECT SNUM, SFAM, SIMA, SOTCH, STIP

FROM STUDENTS;

 

Результат цього запиту показаний нижче:

SNUM SEAM SIMA. SOTCH STIP

----------------------------------------------------------------------------------

3412 Поляков Анатолій Олексійович 25.50

3413 Огарьова Любов Михайлівна 17.00

3414 Гриценко Володимир Миколайович 0.00

3415 Котенко Анатолій Миколайович 0.00

3416 Нагорний Євген Васильович 25.50

Інакше кажучи, ця команда просто виводить всі дані з таблиці. Більшість програм, що працюють із мовою SQL, видають заголовки полів, тому надалі результати будуть приводитися саме в такій формі.

Детально пояснимо кожну частину цієї команди:

SELECT - ключове слово, що повідомляє БД, що ця команда є запитом, тобто всі запити починаються цим словом.

SNUM, SFAM, SIMA, SOTCH, STIP - список полів з таблиці, які вибираються запитом. Поля, не перераховані тут, не будуть включені у висновок команди, але це, зрозуміло, не означає, що вони будуть вилучені або інформація в них буде стерта з таблиць. Запит не впливає на інформацію в таблицях; він тільки показує дані.



FROM STUDENTS - ключове слово, подібно SELECT, що повинне бути представлене в кожному запиті. Воно супроводжується пробілом і потім ім'ям таблиці використовуваної як джерело інформації. У цьому випадку - це таблиця студентів STUDENTS.

Крапка з комою (;) використається у всіх інтерактивних командах SQL для повідомлення БД, що команда заповнена й готова виконатися, а в деяких системах похила риса (\) у рядку є індикатором кінця команди.

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

Якщо необхідно вибрати всі поля таблиці, є необов'язкове скорочення у вигляді символу "зірочка" (*), якє можна використати для виводу повного списку полів у такий спосіб:

SELECT * FROM STUDENTS;

що приведе до того ж результату, що й попередня команда.

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

Ключове слово FROM, що розміщено далі, супроводжується пробілом й ім'ям таблиці, запит до якої робиться. На закінченні, крапка з комою повинна використатися для того, щоб закінчити запит і вказати що команда готова до виконання.

Команда SELECT здатна витягти строго певну інформацію з таблиці. Наприклад, при необхідності висновку тільки певних полів таблиці, просто зі списку виключаються не потрібні поля. Наприклад, запит

SELECT SNUM, SEAM, STIP

FROM STUDENTS;

буде виводити наступну таблицю:

SNUM SFAM STIP

-------------------------------------------

3412 Поляков 25.50

3413 Огарьова 17.00

3414 Гриценко 0.00

3415 Котенко 0.00

3416 Нагорний 25.50

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

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

Наприклад, запит

SELECT SFAM, SNUM, STIP

FROM STUDENTS;

буде робити в новій послідовності висновок, показаний нижче:

SFAN SNUM STIP

--------------------------------------------

Старова 3413 17.00

Гриценко 3414 0.00

Котенко 3415 0.00

Нагорний 3416 25.50

 

 

При роботі з даними дуже часто виникає потреба у видаленні надлишкових даних. Це реалізується з використанням DISTINCT - аргумент, що забезпечує можливість усувати повторювані значення із процедури SELECT.

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

SELECT SNUM

FROM USP;

Видасть наступну таблицю, однак у ній є записи - дублікати:

SNUM

--------

Для одержання списку результатів без дублікатів у цьому випадку доцільно скористатися наступним:

SELECT DISTINCT SNUM

FROM USP;

у результаті чого буде отримано:

SNUM

--------

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

Варто мати на увазі, що DISTINCT може вказуватися тільки один раз у даній процедурі SELECT. Якщо процедура вибирає численні поля, DISTINCT опускає записи, де всі обрані поля ідентичні. Якщо замість DISTINCT указати ALL, то це буде мати протилежний ефект і дублювання рядків виводу збережеться.



<== предыдущая лекция | следующая лекция ==>
Структура операторів і базові елементи мови | Використання умов пошуку для відбору рядків


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.071 сек.