Образец отчета по SQL. Выполнение выборки из таблицы
Скачать 16.6 Kb.
|
Выполнение выборки из таблицы Цель работы: Знакомство с командой SELECT и ее опциями. Используемая база данных: Library Упражнение 1 – извлечение данных из таблиц БД Запрос 1: SELECT title, title_no FROM title Резальтаты выполнения запроса title title_no --------------------------------------------------------------- ----------- Last of the Mohicans 1 The Village Watch-Tower 2 Self Help; Conduct & Perseverance 3 Запрос 2. Использование WHERE: SELECT title, title_no FROM title WHERE title_no = 10 Результат выполенения запроса title title_no --------------------------------------------------------------- ----------- The Night-Born 10 (строк обработано: 1) Запрос 3. Использование BEETWEN SELECT member_no, fine_assessed FROM loanhist WHERE fine_assessed BETWEEN 8.0 and 9.0 Результат выполенения запроса member_no fine_assessed --------- --------------------- 1508 8,00 1508 8,00 1508 8,00 1508 8,00 … 4389 9,00 (строк обработано: 234) Запрос 4. Выборка через сравнение с константой и использование логического OR SELECT author,title_no FROM title WHERE author = 'Charles Dickens' or author = 'Jane Austen' Результат выполенения запроса author title_no ------------------------------- ----------- Jane Austen 27 Charles Dickens 30 Charles Dickens 31 Jane Austen 41 Jane Austen 43 (строк обработано: 5) И т.д. Запрос 6. Возвращение строк, содержащих значения NULL для поля fain_paid Where fine_paid is null Результат выполнения запроса member_no fine_assessed fine_paid ---------- ----------------- -------------------- 9 NULL NULL 9 NULL NULL 9 NULL NULL Select member_no, fine_assessed, fine_paid from loanhist Запрос возвращает из таблицы Ioanhist значения номера читательского билета, величины штрафа и оплаты. Упражнение 4 – использование ключевого слова TOP в команде SELECT. Запрос 1. Вывод значения поля SalesPersonID и Bonus из таблицы Sales.SalesPerson. SELECT SalesPersonID, Bonus FROM Sales.SalesPerson Order by Bonus desc Результат выполнения запроса SalesPersonID Bonus ------------------ -------- 279 6700,00 290 5650,00 285 5150,00 280 5000,00 282 5000,00 275 4100,00 287 3900,00 281 3550,00 283 3500,00 277 2500,00 276 2000,00 286 985,00 278 500,00 289 75,00 268 0,00 Запрос 2. Модификация предыдущего запроса SELECT TOP 4 SalesPersonID, Bonus FROM Sales.SalesPerson Order by Bonus desc Результат выполнения запроса SalesPersonID Bonus -------------- -------- 279 6700,00 290 5650,00 285 5150,00 280 5000,00 (Обработано строк: 4) Возвращает только 4 записи о значениях самых больших премий (бонусов) для продавцов. Запрос 3. Модификация предыдущего запроса. SELECT TOP 4 with ties SalesPersonID, Bonus FROM Sales.SalesPerson Order by Bonus desc Результат выполнения запроса SalesPersonID Bonus ------------------ -------- 279 6700,00 290 5650,00 285 5150,00 280 5000,00 282 5000,00 (Обработано строк: 5) Возвращает строки не только со значениями первых четырех самых больших премий для продавцов, на и данные по тем продавцам, чьи премии имеют то же значение, что и последнее значение, полученное в предыдущем задании. Упражнение 2 – использование агрегатных функций и конструкций GROUP BY и HAVING Использование агрегатных функций. Запрос 1. Подсчет общего количества строк в таблице Employee схемы HumanResources. SELECT COUNT(*) FROM HumanResources.Employee Результат выполнения запроса (Отсутствует имя столбца) ------------------------- 290 Запрос 2. Подсчет общего количества сотрудников, имеющих менеджеров. SELECT COUNT(ManagerID) FROM HumanResources.Employee Результат выполнения запроса (Отсутствует имя столбца) ------------------------- 289 |