Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Общая характеристика оператора SELECT

Читайте также:
  1. I Блок: Общая культура
  2. I Мышцы спины (названия, функциональная характеристика).
  3. I. . Общая часть
  4. I. ОБЩАЯ НОЗОЛОГИЯ
  5. I. ОБЩАЯ ТЕОРИЯ СТАТИСТИКИ
  6. I. Общая теория статистики
  7. I. ОБЩАЯ ТЕОРИЯ СТАТИСТИКИ

SELECT [ ALL | DISTINCT ]

{ * | list_comma_column [AS new_name_column ]}

FROM { table_name [ alias ] [,…]

[ WHERE condition ]

[ GROUPBY column_list ]

[ HAVING condition ]

[ ORDER BY column_list ]}

 

Пример 1. Выборка всех столбцов и всех строк.

SELECT staffNo, fName, lName, position, sex, DOB, salary, branchNo

FROM Персонал;

Таблица 1. Результат выполнения запроса из примера 1

staffNo fName lName position sex DOB salary branchNo
SKh1 Иван Перов руководитель м 10.03.1980   B001
SK2 Сергей Чижов пом. руководителя м 05.07.1977   B005
SS1 Петр Сидоренко руководитель м 17.10.1965   B003
SKh2 Анна Петренко консультант ж 11.05.1982   B001
SKh3 Ольга Петренко консультант ж 11.05.1982   B001
SK1 Вера Овчаренко руководитель ж 19.03.1979   B005
SK3 Семен Соколов руководитель м 12.08.1981   B007
SS2 Сергей Ветров пом. руководителя м 10.10.1978   B003

Пример 2. Выборка конкретных столбцов и всех строк.

SELECT staffNo, fName, lName, salary

FROM Персонал;

Таблица 2. Результат выполнения запроса из примера 2

staffNo fName lName salary
SKh1 Иван Перов  
SK2 Сергей Чижов  
SS1 Петр Сидоренко  
SKh2 Анна Петренко  
SKh3 Ольга Петренко  
SK1 Вера Овчаренко  
SK3 Семен Соколов  
SS2 Сергей Ветров  

Пример 3. Использование ключевого слова DISTINCT.

SELECT propertyNo

FROM Осмотр;

Таблица 3. Результат выполнения запроса с сохранением повторяющихся значений

propertyNo
PG80
PG16
PG16
CA09
PG80

SELECT DISTINCT propertyNo

FROM Осмотр;

Таблица 4. Результат выполнения запроса с исключением повторяющихся значений

propertyNo
PG80
PG16
CA09

Пример 4. Вычисляемые поля

SELECT staffNo, fName, lName, salary*12 AS salary_year

FROM Персонал;

Таблица 5. Результат выполнения запроса

staffNo fName lName salary_year
SKh1 Иван Перов 34 800
SK2 Сергей Чижов 26 400
SS1 Петр Сидоренко 33 600
SKh2 Анна Петренко 21 000
SKh3 Ольга Петренко 21 000
SK1 Вера Овчаренко 36 000
SK3 Семен Соколов 36 000
SS2 Сергей Ветров 24 000

Пример 5. Условие поиска путем сравнения.

SELECT staffNo, fName, lName, position, salary

FROM Персонал

WHERE salary > 2000;

Таблица 6. Результат выполнения запроса

staffNo fName lName position salary
SKh1 Иван Перов руководитель  
SK2 Сергей Чижов пом.руководителя  
SS1 Петр Сидоренко руководитель  
SK1 Вера Овчаренко руководитель  
SK3 Семен Соколов руководитель  

Пример 6. Сложные условия поиска.

SELECT *

FROM Отделение

WHERE city = 'Киев' OR city = 'Харьков';

Таблица 8. Результат выполнения запроса

branchNo street city postcode
B001 пр.Гагарина, 35 Харьков  
B005 ул.Мира, 8 Киев  
B007 пл.Контрактовая, 7 Киев  

Пример 7. Использование диапазонов (BETWEEN/NOT BETWEEN) в условиях поиска.

SELECT staffNo, fName, lName, position, salary

FROM Персонал

WHERE salary BETWEEN 2000AND3000;

Таблица 9. Результат выполнения запроса

staffNo fName lName position salary
SKh1 Иван Перов руководитель  
SK2 Сергей Чижов пом.руководителя  
SS1 Петр Сидоренко руководитель  
SK1 Вера Овчаренко руководитель  
SK3 Семен Соколов руководитель  
SS2 Сергей Ветров пом. руководителя  

Пример 8. Условия поиска с проверкой принадлежности к множеству (IN/NOT IN).

SELECT staffNo, fName, lName, posicion

FROM Персонал

WHERE position IN(' руководитель ', ' пом.руководителя ');

Таблица 10. Результат выполнения запроса

staffNo fName lName position
SKh1 Иван Перов руководитель
SK2 Сергей Чижов пом.руководителя
SS1 Петр Сидоренко руководитель
SK1 Вера Овчаренко руководитель
SK3 Семен Соколов руководитель
SS2 Сергей Ветров пом. руководителя

Пример 9. Условия поиска с указанием шаблонов (LIKE/NOT LIKE).

SELECT ownerNo, oName, address

FROM Владелец_Собственности

WHERE paddress LIKE '%Харьков%';

Таблица 11. Результат выполнения запроса

ownerNo oName pAddress
С040 Вера Долгова Харьков, пр.Правды, 3, кв.17
С093 Иван Семенов Харьков, ул.Зерновая, 4, кв.7

Пример 10. Использование значения NULL в условиях поиска (IS NULL/IS NOT NULL).

SELECT clientNo, viewDate

FROM Осмотр

WHERE propertyNo = 'PG4' AND comment IS NULL;

Таблица 12. Результат выполнения запроса

clientNo date
CR76 12-mar-2009

Пример 11. Сортировка по значениям одного столбца.

SELECT staffNo, fName, lName, salary

FROM Персонал

ORDER BY salary DESC;

Таблица 13. Результат выполнения запроса из примера 2

staffNo fName lName salary
SK3 Семен Соколов  
SK1 Вера Овчаренко  
SKh1 Иван Перов  
SS1 Петр Сидоренко  
SK2 Сергей Чижов  
SS2 Сергей Ветров  
SKh3 Ольга Петренко  
SKh2 Анна Петренко  

Пример 12. Сортировка по нескольким столбцам.

SELECT propertyNo, type, rooms, rent

FROM Объекты_Недвижимости

ORDER BY type;

Таблица 14. Результат выполнения запроса с сортировкой по одному столбцу

propertyNo type rooms rent
КA34 дом    
CA15 дом    
CA19 дом    
PG4 квартира    
PG16 квартира    
PG36 квартира    
CA09 квартира    
PG80 квартира    

SELECT propertyNo, type, rooms, rent

FROM Объекты_Недвижимости

ORDER BY type, rent DESC;

Таблица 15. Результат выполнения запроса с сортировкой по двум столбцам

propertyNo type rooms rent
CA19 дом    
КA34 дом    
CA15 дом    
PG16 квартира    
CA09 квартира    
PG4 квартира    
PG36 квартира    
PG80 квартира    

Пример 13. Использование функции COUNT(*).

SELECT COUNT(*)AS count

FROM Объекты_Недвижимости

WHERE rent > 350;

Таблица 16. Результат выполнения запроса

count
 

Пример 14. Использование функции COUNT(DISTINCT).

SELECT COUNT (DISTINCT propertyNo)AS count

FROM Осмотр

WHERE date BETWEEN'l-Apr-08'AND'30-Apr-08';

 

Таблица 17. Результат выполнения запроса

count
 

Пример 15. Использование функций COUNT и SUM.

SELECT COUNT(staffNo ) AS count,SUM(salary)AS sum

FROM Персонал

WHERE position = ' руководитель ';

Таблица 18. Результат выполнения запроса

count sum
  11 700

Пример 16. Использование функций MIN, MAX и AVG.

SELECT MIN(salary)AS min, MAX(salary) AS max, AVG(salary)AS avg

FROM Персонал;

Таблица 19. Результат выполнения запроса

min max avg
     

Пример 17. Использование конструкции GROUP BY.

SELECT branchNo,COUNT(staffNo)AS count,SUM(salary) AS sum

FROM Персонал

GROUP BY branchNo

ORDER BY branchNo;

Таблица 20. Результат выполнения запроса

branchNo count sum
B001    
B003    
B005    
B007    

 

Рис. 1. Группы записей, создаваемые при выполнении запроса

SELECT branchNo,

(SELECT COUNT(staffNo) ASc ount

FROM Персонал s

WHERE s.branchNo = b.branchNo),

(SELECT SUM(salary) AS sum

FROM Персонал s

WHERE s.branchNo = b.branchNo)

FROM Отделение b

ORDER BY branchNo;

Пример 18. Использование конструкции HAVING.

SELECT branchNo, COUNT(staffNo) AS count, SUM(salary) AS sum

FROM Персонал

GROUP BY branchNo

HAVING COUNT(staffNo) > 1

ORDER BY branchNo;

Таблица 21. Результат выполнения запроса

branchNo count sum
B001    
B003    
B005    

Пример 19. Использование подзапроса с проверкой на равенство.

SELECT staffNo, fName, lName, position

FROM Персонал

WHERE branchNo =

(SELECT branchNo

FROM Отделение

WHERE street = ' Харьков, пр.Гагарина, 35 ');

Таблица 22. Результат выполнения запроса

staffNo fName lName position
SKh1 Иван Перов руководитель
SKh2 Анна Петренко консультант
SKh3 Ольга Петренко консультант

Пример 20. Использование подзапросов с агрегирующими функциями.

SELECT staffNo, fName, lName, position,

salary - (SELECT AVG(salary) FROM Персонал) AS salDiff

FROM Персонал

WHERE salary > (SELECT AVG(salary) FROM Персонал);

Таблица 23. Результат выполнения запроса

staffNo fName lName position salDiff
SKh1 Иван Перов руководитель  

Пример 21. Вложенные подзапросы и использование предиката IN.

SELECT propertyNo, street, city, postcode, type, rooms, rent

FROM Объекты_Недвижимости

WHERE staffNo IN (SELECT staffNo

FROM Персонал

WHERE branchNo = (SELECT branchNo

FROM Отделение

WHERE city= ' Харьков ' AND

street =' пр.Гагарина, 35 '));

Таблица 24. Результат выполнения запроса

propertyNo street city postcode type rooms rent
PG4 пр.Ленина, 9, кв.11 Харьков   квартира    
PG16 ул.Есенина, 3, кв.7 Харьков   квартира    
PG36 ул.23 Августа, 3, кв.27 Харьков   квартира    

 


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


<== предыдущая страница | следующая страница ==>
ПОДАЧА ШТАНГОВОГО СКВАЖИННОГО НАСОСА И КОЭФФИЦИЕНТ ПОДАЧИ| Многотабличные запросы

mybiblioteka.su - 2015-2024 год. (0.024 сек.)