· 7 years ago · Dec 13, 2018, 08:52 AM
1# CREATE DATABASE `cars`;
2# USE cars;
3
4-- Create Database structure (DDL)
5
6CREATE TABLE IF NOT EXISTS T_PERSON(
7 id INT PRIMARY KEY AUTO_INCREMENT,
8 last_name VARCHAR(255),
9 first_name VARCHAR(255),
10 address VARCHAR(255),
11 city VARCHAR(255)
12);
13
14
15
16CREATE TABLE IF NOT EXISTS T_CAR(
17 id INT PRIMARY KEY AUTO_INCREMENT,
18 brand VARCHAR(255),
19 model VARCHAR(255),
20 reg_number VARCHAR(8),
21 person_id INT,
22 FOREIGN KEY(person_id) REFERENCES T_PERSON(id)
23);
24
25-- INSERTS in T_PERSON (DML)
26
27INSERT INTO T_PERSON (id, last_name, first_name, address, city)
28VALUES (1, "Иванов", "Иван", "ул. СолунÑка 3", "СофиÑ" );
29
30INSERT INTO T_PERSON (id, last_name, first_name, address, city)
31VALUES (2, "Стефанов", "Иван", "ул. Бигла 42", "СофиÑ" );
32
33INSERT INTO T_PERSON (id, last_name, first_name, address, city)
34VALUES (3, "Петканов", "Петкан", "ул. ÐÑÐºÐ¾Ñ Ñи 69", "СофиÑ" );
35
36INSERT INTO T_PERSON (id, last_name, first_name, address, city)
37VALUES (4, "Георгиева", "Диана", "ул. ЛиÑичка 42", "СофиÑ" );
38
39INSERT INTO T_PERSON (id, last_name, first_name, address, city)
40VALUES (5, "Иванова", "МариÑ", "ул. Й 123", "СофиÑ" );
41
42
43-- INSERTS in T_CAR (DML)
44
45INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
46VALUES (1, "BMW", "X5", "СÐ4269ХМ", 2);
47
48INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
49VALUES (2, "TOYOTA", "AURIS", "СÐ4242СД", 5);
50
51INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
52VALUES (3, "SKODA", "FABIA", "С1542ХВ", 4);
53
54INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
55VALUES (4, "MERCEDES", "C220", "Ð’Ð1679Ð¥Ð", 3);
56
57INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
58VALUES (5, "LADA", "SAMARA", "П1521ГТ", 1);
59
60INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
61VALUES (6, "Alfa Romeo", "GIULIA", "Л5791ДС", NULL);
62
63INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
64VALUES (7, "Alfa Romeo", "MITO", "П5522ÐД", NULL);
65
66INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
67VALUES (8, "Alfa Romeo", "STELVIO", "В5371ФД", NULL);
68
69INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
70VALUES (9, "SKODA", "CITIGO", "Г6851СД", NULL);
71
72INSERT INTO T_CAR (id, brand, model, reg_number, person_id)
73VALUES (10, "SKODA", "SUPERB", "Д2548Ð¥Ð", NULL);
74
75
76ALTER TABLE T_CAR
77ADD CONSTRAINT fk_t_car_t_person
78FOREIGN KEY (person_id) REFERENCES T_CAR(id);
79
80
81-- SELECT Statements (DML)
82
83# Ðапишете заÑвка, коÑто да покаже вÑички запиÑи от таблицата T_PERSON
84SELECT * FROM T_PERSON;
85
86# Ðапишете заÑвка, коÑто да покаже вÑички запиÑи от таблицата T_CAR
87SELECT * FROM T_CAR;
88
89# Ðапишете заÑвка, коÑто да покаже Ð·Ð°Ð¿Ð¸Ñ Ñ id=3 от таблицата T_CAR, като покаже Ñамо колоните brand, model, reg_number;
90SELECT brand, model, reg_number FROM T_CAR
91WHERE id = 3;
92
93# Ðапишете заÑвка, коÑто да покаже вÑички запиÑи от таблицата T_PERSON, които имат ÑтойноÑÑ‚ „Иван“ в полето first_name
94SELECT * FROM T_PERSON
95WHERE first_name = "Иван";
96
97# Ðапишете заÑвка, коÑто да покаже вÑички автомобили, които имат ÑофийÑки региÑтрационен номер
98SELECT * FROM T_CAR
99WHERE reg_number LIKE 'С%';
100
101# Ðапишете заÑвка, коÑто да покаже вÑички хора (first_name, last_name) и колите, които притежават (brand, model)
102SELECT p.first_name, p.last_name, c.brand, c.model
103FROM T_PERSON p
104JOIN T_CAR c
105ON p.id = c.id;
106
107# *Ðапишете заÑвка, коÑто да покаже first_name и last_name на вÑички хора, които имат коли, региÑтрирани в СофиÑ
108SELECT p.first_name, p.last_name
109FROM T_PERSON p
110JOIN T_CAR c
111ON p.id = c.id
112WHERE c.reg_number LIKE 'С%';
113
114# Ðапишете заÑвка, коÑто да покаже вÑички автомобили, които имат цифрата 5 в региÑÑ‚Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¸Ñ Ñи номер
115SELECT c.brand, c.model
116FROM T_CAR c
117WHERE c.reg_number LIKE '%5%'
118ORDER BY c.brand ASC;