русс | укр

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

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

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

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


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

Бухгалтерія Іванов Іван Іванович 1950 ч


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


Оператор вибору SELECT

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

Одна з форм оператора SELECT має синтаксис:

SELECT < список імен полів > FROM < таблиця >

WHERE < умова вибору > ORDER BY < список імен полів >;

Елементи оператора WHEREі ORDER BYне є обов'язковими. Елемент WHERE визначає умову добору записів: відбираються тільки ті, для яких умова виконується. Елемент ORDER BY визначає впорядкування записів, що повертаються.

< таблиця > — це та таблиця бази даних, з якої здійснюється вибір, наприклад, Pers.

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

SELECT Fam, Nam, Par, Year_b FROM Pers

указує, що варто повернути поля Fam, Nam, Par і Year_b з таблиці Pers.

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

SELECT * FROM Рers

означає вибір усіх полів.

Бухгалтерія Іванов Іван Іванович 1950 ч

2 Цех1 Петров Петро Петрович 1961 ч

... ... ... ... ... ... ...

У списку імен полів можуть бути не тільки самі поля, але і будь-які вирази від них з арифметичними операціями +, - , *, /. Після виразу може записуватися псевдонім виразу у формі: AS <псевдонім >. Як псевдонім може фігурувати будь-який ідентифікатор, на який потім можна буде при необхідності посилатися. Зазначений псевдонім буде при відображенні результатів фігурувати в заголовку таблиці.

Наведемо приклад використання виразу:



SELECT Fam, Nam, (2002-Year_b) AS Age FROM Pers

Цей оператор створює поле Age, що обчислюється по формулі (2002-Year_b).

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

У виразах для полів можуть використовуватися строкові константи й операція «||», що означає зчеплення рядків. Наприклад, оператор

SELECT "Відділ: " || Dep, "Прізвище: " || Fam FROM Pers

буде видавати рядок виду:

Відділ: Бухгалтерія Прізвище: Іванов

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

SELECT "Відділ: " || Dep, "Прізвище: " || Fam,

"р.н.: " || Cast(Year_b AS CHAR(4)) FROM Pers

функція Cast перетворить значення числового поля Year_bу рядок з чотирьох символів. Результат буде видаватися рядками виду:

Відділ: Бухгалтерія Прізвище: Іванов р.н.: 1950

Тепер розглянемо форму представлення умови вибору, що задається після ключового слова WHERE.Ця умова визначає критерій, за яким відбираються записи. Оператор SELECTвідбирає тільки ті записи, у яких задана умова істинна. Умова може включати імена полів (крім полів, що обчислюються,), константи, логічні вирази, що містять арифметичні операції, логічні операціїand, or, not і операції відношення:

= дорівнює;

> більше;

>= більше чи дорівнює;

< менше;

<= менше чи дорівнює;

!= або <> не дорівнює;

LIKEнаявність заданої послідовності символів;

between... andдіапазон значень;

in відповідність елементу множини;

Перші шість операцій очевидні. Наприклад, оператор

SELECT Fam FROM Pers WHERE Sех='ж' and Year_b > 1960

відбере записи, що стосуються жінок, що народились після 1960 року.

Операція LIKE має синтаксис:

< поле > LIKE ' < послідовність символів > '

Ця операція застосовна до полів типу рядків і повертає true,якщо в рядку зустрівся фрагмент, заданий в операції як - <послідовність символів>.Заданим символам може передувати і їх може завершувати символ відсотка «%», що означає — будь-яка кількість будь-яких символів. Якщо символ відсотка не зазначений, то задана послідовність символів повинна відповідати тільки цілому слову. Наприклад, умова

Fam LIKE ' A% '

означає, що будуть відібрані всі записи, у яких прізвище починається з великої російської літери «А» (операція LIKEрозрізняє малі і великі літери). Умові

Fam LIKE ' Іванов% '

будуть задовольняти прізвища «Іванов» і «Іванова», а умові

Fam LIKE ' % ван % '

крім цих прізвищ буде задовольняти, наприклад, прізвище «Іванников».

Операція between... andмає синтаксис:

< поле > between <значення > and < значення >

і задає для зазначеного поля діапазон значень, що відбираються. Наприклад, оператор

SELECT Fam, Year_b FROM Pers

WHERE Year_b BETWEEN 1960 AND 1970

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

Операція In має синтаксис:

< поле > in (< множина >)

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

SELECT Fam, Year__b FROM Pers

WHERE Fam IN (' Іванов ', ' Петров ', ' Сидоров')

відбере записи співробітників із заданими прізвищами, а оператор

SELECT Fam, Year_b FROM Pers WHERE Year_b IN ( 1950 , 1960 )

відбере записи співробітників з зазначеними роками народження.

Елемент оператора SELECT, що починається з ключових слів ORDER BY, визначає впорядкування (сортування) записів. Після цих ключових слів вказується список полів, що визначають сортування. Можна вказувати тільки поля, що фігурують у списку відібраних (після ключового слова SELECT).

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

SELECT Dep, Fam, Year_b FROM Pers ORDER BY Year_b

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

SELECT Dep, Fam, Year_b FROM Pers ORDER BY Year_b DESC

Якщо в списку після ORDER BYперелічується кілька полів, то перше з них — головне і сортування проводиться насамперед за значеннями цього поля. Записи, що мають однакове значення першого поля, упорядковуються за значеннями другого поля і т.д. Наприклад, оператор

SELECT Dep, Fam, Year_b FROM Pers ORDER BY Dep, Fam

сортує записи насамперед по відділах (значенням поля Dep), а усередині кожного відділу — за алфавітом. Оператор

SELECT Dep, Fam, Year_b, Sex FROM Pers ORDER BY Dep, Sex, Fam

сортує записи по відділах, статі й алфавіту.

Після оператора SELECT можуть ставиться ключові слова DISTINCT(унікальний) чи ALL. Перше з них означає, що в результуючий набір даних не включаються записи, що повторюються, тобто ті записи, у яких збігаються значення полів, перерахованих у списку оператора SELECT. Ключове слово ALLозначає включення всіх записів. Наведемо приклад використання DISTINCT. Оператор SELECT DISTINCT Dep FROM Pers

видасть список підрозділів, у яких працюють співробітники.



<== предыдущая лекция | следующая лекция ==>
Контрольний приклад | Сукупні характеристики


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


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

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

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


 


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

 
 

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

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