Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE Carsh
- GO
- --1) Запросы с выбором строк по условию
- --запрос с использованием операторов сравнения
- SELECT *
- FROM Тариф
- WHERE Цена_за_час > 60
- --запрос с использованием логических операторов AND
- SELECT Госномер, YEAR(Год_выпуска) AS [Год выпуска]
- FROM Автомобиль
- WHERE Марка = 'Volkswagen' AND Модель = 'Polo'
- --запрос с использованием логических операторов OR
- SELECT Госномер, Марка, Модель, YEAR(Год_выпуска) AS [Год выпуска]
- FROM Автомобиль
- WHERE Марка = 'Renault' OR Марка = 'Hyundai'
- --запрос с использованием логических операторов NOT
- SELECT Название
- FROM Тариф
- WHERE NOT Страховка = 'Без страховки'
- --запрос на использование выражений над столбцами
- SELECT Название, Страховка, CAST(Цена_за_час * 0.8 AS int) AS [Цена за час со скидкой]
- FROM Тариф
- --запрос с проверкой на принадлежность множеству
- SELECT *
- FROM Поездка
- WHERE Автомобиль IN (1, 2, 3)
- --запрос с проверкой на принадлежность диапазону значений
- SELECT *
- FROM Тариф
- WHERE Цена_за_час BETWEEN 70 AND 120
- --запрос с проверкой на соответствие шаблону
- SELECT Госномер, Марка, Модель
- FROM Автомобиль
- WHERE Госномер LIKE '[ОУ]%'
- --запрос с проверкой на неопределенное значение
- SELECT Название, Страховка
- FROM Тариф
- WHERE Описание IS NULl
- --2) Запросы на теоретико-множественные реляционные операции
- --запрос на объединение таблиц
- SELECT ФИО
- FROM Клиент
- WHERE Адрес LIKE 'г. Рязань%'
- UNION
- SELECT ФИО
- FROM Клиент
- WHERE Адрес LIKE 'г. Санкт-Петербург%'
- --запрос на пересечение таблиц
- SELECT Клиент
- FROM Поездка
- WHERE Автомобиль = 3
- INTERSECT
- SELECT Клиент
- FROM Поездка
- WHERE Автомобиль = 5
- --запрос на вычитание таблиц
- SELECT id_Автомобиля
- FROM Автомобиль
- EXCEPT
- SELECT Автомобиль
- FROM Поездка
- --3) Многотабличные запросы
- --запрос с использованием соединения двух таблиц по равенству и условием отбора
- SELECT ФИО, Автомобиль
- FROM Клиент JOIN Поездка ON Клиент.id_Клиента = Поездка.Клиент
- WHERE Адрес LIKE 'г. Рязань%'
- --запрос с использованием соединения трех таблиц по равенству и условием отбора
- SELECT id_Поездки, ФИО, Марка, Модель
- FROM Автомобиль JOIN (Клиент JOIN Поездка ON Клиент.id_Клиента = Поездка.Клиент) ON Автомобиль.id_Автомобиля = Автомобиль
- WHERE ФИО LIKE 'Шишкина%' AND Марка = 'Hyundai'
- --запрос с использованием соединения по четырем таблицам
- SELECT Название, Страховка, Госномер, Фио
- FROM Тариф JOIN (Автомобиль JOIN (Клиент JOIN Поездка ON Клиент.id_Клиента = Поездка.Клиент) ON Автомобиль.id_Автомобиля = Автомобиль) ON Тариф.id_Тарифа = Тариф
- --запрос с использованием левого внешнего соединения
- SELECT Госномер, id_Поездки
- FROM Поездка LEFT JOIN Автомобиль ON Автомобиль.id_Автомобиля = Поездка.Автомобиль
- --запрос на использование правого внешнего соединения
- SELECT Номер_ВУ, id_Поездки
- FROM Клиент RIGHT JOIN Поездка ON Поездка.Клиент = Клиент.id_Клиента
- --- запрос с использованием функции COUNT
- SELECT ФИО, COUNT (ФИО) AS [Совершенные поездки]
- FROM Клиент JOIN Поездка ON Клиент.id_Клиента = Поездка.Клиент
- GROUP BY ФИО
- --запрос с использованием функции SUM
- SELECT Марка, SUM(DATEDIFF(hour,Дата_время_начала, Дата_время_окончания)) AS [Время поездки в часах]
- FROM Тариф JOIN (Автомобиль JOIN Поездка ON Автомобиль.id_Автомобиля = Поездка.Автомобиль) ON Тариф.id_Тарифа = Тариф
- GROUP BY Марка
- --3 запроса с использованием временных функций
- SELECT ФИО, DATEDIFF(DAY, Дата_время_окончания, SYSDATETIME()) AS [Прошло дней с момента поездки]
- FROM Клиент JOIN Поездка ON Клиент.id_Клиента = Поездка.Клиент
- SELECT ФИО, Автомобиль, FORMAT(Дата_время_начала, 'D', 'ru-RU') + FORMAT(Дата_время_начала, N'HH:mm:ss'),
- FORMAT(Дата_время_окончания, 'D', 'ru-RU') + FORMAT(Дата_время_окончания, N'HH:mm:ss')
- FROM Клиент JOIN Поездка ON Клиент.id_Клиента = Поездка.Клиент
- SELECT Марка, AVG(DATEDIFF(HOUR, Дата_время_начала, Дата_время_окончания))
- FROM Автомобиль JOIN Поездка ON Автомобиль.id_Автомобиля = Поездка.Автомобиль
- GROUP BY Марка
- --запрос с использованием группировки по одному столбцу
- SELECT Марка, COUNT(Марка) AS [Количество поездок]
- FROM Автомобиль JOIN Поездка ON Автомобиль.id_Автомобиля = Поездка.Автомобиль
- GROUP BY Марка
- --запрос на использование группировки по нескольким столбцам
- SELECT Марка, Модель, COUNT(Марка) AS [Количество поездок]
- FROM Автомобиль JOIN Поездка ON Автомобиль.id_Автомобиля = Поездка.Автомобиль
- GROUP BY Марка, Модель
- --запрос с использованием условия отбора групп HAVING
- SELECT Марка, COUNT(Марка) AS [Количество поездок]
- FROM Автомобиль JOIN Поездка ON Автомобиль.id_Автомобиля = Поездка.Автомобиль
- GROUP BY Марка
- HAVING COUNT(Марка) > 1
- --запрос с использованием сортировки по столбцу
- SELECT Марка, SUM(DATEDIFF(hour,Дата_время_начала, Дата_время_окончания)) AS [Время поездки в часах]
- FROM Тариф JOIN (Автомобиль JOIN Поездка ON Автомобиль.id_Автомобиля = Поездка.Автомобиль) ON Тариф.id_Тарифа = Тариф
- GROUP BY Марка
- ORDER BY [Время поездки в часах] DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement