Запросы:
DELETE FROM ROOM;
DELETE FROM FLAT;
DELETE FROM BUILDING;
INSERT INTO Building VALUES (1,'ул. Юности, 7','20',1000,1987,'Кирпич','Арматурные сваи',20,5,800,147);
INSERT INTO Building VALUES (2,'ул. Юности, 9','20',1000,1988,'Кирпич','Бетоные блоки',17,5,800,147);
INSERT INTO Building VALUES (3,'ул. Юности, 11','20',2700,1987,'Железобетон','Бетонные блоки',10,12,3900,437);
INSERT INTO Building VALUES (4,'ул. Юности, 15','20',1000,1989,'Кирпич','Арматурные сваи',15,5,800,147);
INSERT INTO Building VALUES (5,'ул. Юности, 10','12',2000,1997,'Дерево','Деревянные сваи',47,5,2000,347);
INSERT INTO Building VALUES (6,'ул. Юности, 6','12',1400,1988,'Пеноблоки','Бетонные блоки',37,5,1300,157);
INSERT INTO Building VALUES (7,'ул. Юности, 5','12',30000,1977,'Железобетон','Бетонные сваи',30,12,29000,437);
INSERT INTO Building VALUES (8,'ул. Юности, 4','9',10300,1979,'Дерево','Деревянные сваи',25,5,8300,247);
INSERT INTO Building VALUES (9,'ул. Юности, 3','',5000,2000,'Пеноблок','Бетонные блоки',3,24,5000,547);
INSERT INTO Building VALUES (10,'ул. Юности, 2','',3000,2001,'Кирпич','Бетонные сваи',2,24,3000,257);
INSERT INTO Building VALUES (11,'ул. Юности, 1','',2700,2000,'Железобетон','Бетонные сваи',7,24,2700,737);
INSERT INTO Building VALUES (12,'ул. Юности, 8','',8000,1995,'Термоблоки','Бетонные блоки',55,12,7000,747);
INSERT INTO Building VALUES (13,'ул. Юности, 12','',12000,1997,'Газоблоки','Бетонные блоки',51,5,10000,547);
INSERT INTO Building VALUES (14,'ул. Юности, 13','',10800,1985,'Газоблоки','Бетонные сваи',57,5,9800,347);
INSERT INTO Building VALUES (15,'ул. Юности, 14','',2300,1989,'Железобетон','Деревянные сваи',34,9,2100,464);
INSERT INTO Building VALUES (16,'ул. Юности, 16','',7000,1977,'Керам. кирпич','Бетонные блоки',35,5,7000,847);
INSERT INTO Building VALUES (17,'ул. Юности, 17','',43000,1967,'Дерево','Деревянные сваи',12,5,42000,247);
INSERT INTO Building VALUES (18,'ул. Юности, 18','',15000,1986,'Пенобоки','Бетонные сваи',27,5,14000,770);
INSERT INTO Building VALUES (19,'ул. Юности, 19','',21700,1987,'Силик. кирпич','Бетонные блоки',30,5,20700,725);
INSERT INTO Building VALUES (20,'ул. Юности, 20','',17000,1990,'Силик. кирпич','Бетонные блоки',25,5,15600,647);
INSERT INTO Flat VALUES (1,128,1,2,50,48,2,0);
INSERT INTO Flat VALUES (2,417,4,1,25,25,0,0);
INSERT INTO Flat VALUES (4,521,5,1,27,27,0,0);
INSERT INTO Flat VALUES (4,228,2,2,50,50,0,0);
INSERT INTO Flat VALUES (1,328,3,2,50,48,2,0);
INSERT INTO Flat VALUES (2,427,4,1,23,23,0,0);
INSERT INTO Flat VALUES (4,528,5,1,26,26,0,0);
INSERT INTO Flat VALUES (4,428,4,2,49,49,0,0);
INSERT INTO Flat VALUES (1,426,4,2,50,48,2,0);
INSERT INTO Flat VALUES (2,409,4,1,22,22,0,0);
INSERT INTO Flat VALUES (4,524,5,1,27,25,2,0);
INSERT INTO Flat VALUES (4,326,3,2,48,47,1,0);
INSERT INTO Flat VALUES (1,126,1,2,51,48,3,0);
INSERT INTO Flat VALUES (2,317,4,1,25,25,0,0);
INSERT INTO Flat VALUES (4,507,5,1,24,23,1,0);
INSERT INTO Flat VALUES (4,226,2,2,51,50,1,0);
INSERT INTO Flat VALUES (1,124,1,2,52,52,0,0);
INSERT INTO Flat VALUES (2,407,4,1,25,24,1,0);
INSERT INTO Flat VALUES (4,523,5,1,27,27,0,0);
INSERT INTO Flat VALUES (4,224,2,2,50,50,0,0);
INSERT INTO Room VALUES (521,1,27,27,'жилое помещение','обои');
INSERT INTO Room VALUES (228,2,21,21,'хранилище матрицов','');
INSERT INTO Room VALUES (228,3,29,29,'хранилище постельного белья','');
INSERT INTO Room VALUES (417,4,25,25,'жилое помещение','');
INSERT INTO Room VALUES (523,5,27,27,'жилое помещение','обои');
INSERT INTO Room VALUES (224,6,21,21,'хранилище матрицов','');
INSERT INTO Room VALUES (124,7,29,29,'хранилище постельного белья','');
INSERT INTO Room VALUES (507,8,25,25,'жилое помещение','');
INSERT INTO Room VALUES (407,9,27,27,'жилое помещение','плитка');
INSERT INTO Room VALUES (128,10,21,21,'Тенисная комната','краска');
INSERT INTO Room VALUES (128,11,29,29,'Тенисная комната','краска');
INSERT INTO Room VALUES (317,12,25,25,'жилое помещение','');
INSERT INTO Room VALUES (521,13,27,27,'жилое помещение','обои');
INSERT INTO Room VALUES (228,14,21,21,'хранилище матрицов','');
INSERT INTO Room VALUES (228,15,29,29,'хранилище постельного белья','');
INSERT INTO Room VALUES (417,16,25,25,'жилое помещение','');
INSERT INTO Room VALUES (521,17,27,27,'жилое помещение','обои');
INSERT INTO Room VALUES (328,18,21,21,'хранилище матрицов','');
INSERT INTO Room VALUES (328,19,29,29,'хранилище постельного белья','');
INSERT INTO Room VALUES (417,20,25,25,'жилое помещение','');
SELECT *
FROM BUILDING;
SELECT *
FROM FLAT;
SELECT *
FROM ROOM;
--Б)
--Сравнение
SELECT *
FROM BUILDING b
WHERE b.year>=1990;
--Принадлежность диапазону
SELECT *
FROM BUILDING b
WHERE b.year BETWEEN 1990 AND 2000;
--Принадлежность множесту значений
SELECT *
FROM BUILDING b
WHERE b.material IN ('Пеноблок','Силик. кирпич');
--Равенство неопределённому значению
SELECT *
FROM BUILDING b
WHERE b.district IS NULL;
--Сравнение с шаблоном %-любыек символы _-один символ
SELECT *
FROM BUILDING b
WHERE b.base LIKE ('Бетонные%');
--В)
--Сумма значений Площади всех зданий
SELECT SUM(LAND)
FROM BUILDING;
--Средний год строительства
SELECT AVG(year)
FROM BUILDING;
--здания с минимальной площадью и здание построенное всех позже
SELECT *
FROM BUILDING b
WHERE b.land = (SELECT MIN(land)FROM BUILDING)
UNION
SELECT *
FROM BUILDING b
WHERE b.year = (SELECT MAX(year)FROM BUILDING);
--общее количество значений в одном столбце
SELECT COUNT(DISTRICT)
FROM BUILDING;
--количество различных значений в одном столбце
SELECT COUNT(DISTINCT DISTRICT)
FROM BUILDING;
--количество строк в каждой таблице
SELECT COUNT(*)
FROM BUILDING;
SELECT COUNT(*)
FROM FLAT;
SELECT COUNT(*)
FROM ROOM;
--Г)Группирующие строки
--Сумма значений (год и колличество построенной площади)
SELECT year,SUM(land)
FROM BUILDING b
GROUP BY b.year;
--Среднее значение (среденнее кол-во площади, которое имел дом, в каждом году за год)
SELECT year, AVG(land)
FROM BUILDING b
GROUP BY b.year;
--Минимальная площадь, которую имел дом в каждом году
SELECT year, MIN(land)
FROM BUILDING b
GROUP BY b.year;
--Максимальное кол-во этажей, которые имел дом в каждом году
SELECT year, MIN(flow)
FROM BUILDING b
GROUP BY b.year;
--общее кол-во значений в одном из столбцов(колличество построек в каждом году)
SELECT year, COUNT(year)--в моей таблице так же можно использовать (*)
FROM BUILDING b
GROUP BY b.year;
--общее кол-во различных значений в одном из столбцов (в скольких годах строили разноэтажные здания)
SELECT flow, COUNT(DISTINCT year )
FROM BUILDING b
GROUP BY b.flow;
--Д)Вычисляемые значения
SELECT b.kadastr, 2016-b.year AS "Давность постройки"
FROM Building b;
--Е)Выбирающие символьные данные нескольких столбцов, соединенные в одну строку и псевдоним
SELECT b.address||b.year AS "Адрес и год"
FROM BUILDING b;
--Ж)Вложенный запрос Вывести адрес самого старого дома
SELECT b.address,b.year
FROM BUILDING b
WHERE b.year=(SELECT MIN(year)FROM BUILDING);
--З)обновление данных воо всех строках таблицы
UPDATE FLAT SET BALCONY='1';
SELECT *
FROM FLAT;
--обновление данных удовлетворяющих условию
UPDATE BUILDING SET BUILDING.address='---'
WHERE BUILDING.year<1990;
SELECT *
FROM BUILDING;
--И)Удаление строк, удовлетворяющие условию
DELETE FROM BUILDING
WHERE BUILDING.material NOT IN ('Кирпич');
SELECT *
FROM BUILDING;