-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path5_SQL_DML.sql
More file actions
55 lines (44 loc) · 3.4 KB
/
5_SQL_DML.sql
File metadata and controls
55 lines (44 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-- выборка всех данных из каждой таблицы
TABLE genres;
TABLE movie;
TABLE people;
TABLE movieawards;
TABLE moviepeople;
TABLE moviegenres;
--выборка данных из одной таблицы при нескольких условиях, с использованием логических операций, LIKE, BETWEEN, IN
SELECT firstname FROM people WHERE lastname LIKE 'Deckow';
SELECT name FROM movie WHERE description LIKE '%war%';
SELECT firstname FROM people WHERE firstname LIKE 'Al%';
SELECT name FROM movie WHERE rating BETWEEN 3 and 5;
SELECT name FROM movie WHERE movielength BETWEEN 77 and 100;
SELECT people.firstname , people.lastname FROM people WHERE birth BETWEEN '1949-06-10' AND '1997-11-28';
-- Создайте в запросе вычисляемое поле
-- Сделайте выборку всех данных с сортировкой по нескольким полям
SELECT * FROM movie ORDER BY name ASC;
SELECT * FROM people ORDER BY birth DESC;
SELECT * FROM movie ORDER BY rating;
-- Создайте запрос, вычисляющий несколько совокупных характеристик таблиц
SELECT AVG(movie.rating) FROM movie;
SELECT SUM(movie.movielength) FROM movie WHERE rating BETWEEN 5 AND 10;
SELECT MAX(movie.rating) FROM movie;
SELECT MIN(movie.rating) FROM movie;
SELECT COUNT(firstname) FROM people WHERE birth BETWEEN '1990-01-01' AND '2000-01-01';
-- Сделайте выборку данных из связанных таблиц
SELECT movie.name , genres.genrename FROM movie, genres WHERE genrename = 'sci-fi';
SELECT people.firstname , people.lastname FROM movie , people WHERE movie.description LIKE '%war%';
-- Создайте запрос, рассчитывающий совокупную характеристику с использованием группировки, наложите ограничение на результат группировки
-- Придумайте и реализуйте пример использования вложенного запроса
-- С помощью оператора INSERT добавьте в каждую таблицу по одной записи
INSERT INTO movie (name, releaseyear, rating, movielength, description) VALUES ('dataBase', '2017', '10', '90', 'bla bla');
INSERT INTO people (firstname, lastname, birth) VALUES ('masha', 'volkova', '1949-06-10');
INSERT INTO moviepeople (movieid, peopleid) VALUES ('1', '1');
INSERT INTO movieawards (movieid, awardid) VALUES ('1', '1');
INSERT INTO moviegenres (movieid, genreid) VALUES ('1', '1');
--измените значения нескольких полей у всех записей, отвечающих заданному условию
UPDATE people SET firstname = 'masha' WHERE firstname LIKE 'Bettye';
--удалите запись, имеющую максимальное/минимальное значение некоторой совокупной характеристики
DELETE FROM movieawards WHERE movieid = (SELECT MAX(movieid) FROM movieawards);
DELETE FROM movieawards WHERE movieid = (SELECT MIN(movieid) FROM movieawards);
--удалите записи в главной таблице, на которые не ссылается подчиненная таблица
DELETE FROM movie WHERE rating = '10';
DELETE FROM movie USING genres WHERE genres.genrename <> 'Musical';