-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathday4_sql_practice.sql
More file actions
230 lines (157 loc) · 5.66 KB
/
day4_sql_practice.sql
File metadata and controls
230 lines (157 loc) · 5.66 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
-- 🗂️ DAY 4: SQL DML & DQL PRACTICE (INSERT, SELECT, WHERE, UPDATE, DELETE)
-- =====================================================================
-- 📌 DML – Data Manipulation Language (INSERT, UPDATE, DELETE)
-- =====================================================================
USE student;
SELECT * FROM details;
CREATE TABLE details(
student_id INT PRIMARY KEY AUTO_INCREMENT,
student_name VARCHAR(50) NOT NULL UNIQUE,
student_phone INT NOT NULL UNIQUE
);
-- Modify phone number datatype for better storage
ALTER TABLE details MODIFY student_phone VARCHAR(15) NOT NULL UNIQUE;
-- ========================
-- 📥 INSERT PRACTICE
-- ========================
INSERT INTO details VALUES (1,'Krishna',9922663545);
INSERT INTO details (student_name, student_phone)
VALUES ('Aman',991919191);
INSERT INTO details (student_name, student_phone)
VALUES
('Ram',8900876765),
('Arun',9900876765),
('Deva',9800876765);
SELECT * FROM details;
-- =====================================================================
-- 📌 DQL – Data Query Language (SELECT)
-- =====================================================================
CREATE DATABASE aman;
USE aman;
SELECT * FROM aman.mobile_phones;
SELECT * FROM mobile_phones;
SELECT * FROM mobile_phones WHERE 1;
SELECT model, brand_name, rating
FROM mobile_phones;
SELECT model, brand_name, price, rating
FROM mobile_phones;
SELECT model, price, os AS 'Operating System'
FROM mobile_phones;
SELECT model, price - 100 AS new_price, os AS 'Operating System'
FROM mobile_phones;
SELECT model, os AS 'Operating System', price
FROM mobile_phones
WHERE os = 'ios';
SELECT model, screen_size, refresh_rate,
ROUND(
SQRT(resolution_width * resolution_width + resolution_height * resolution_height) / screen_size,
2) AS PPI
FROM mobile_phones;
SELECT model, price, 'Smart Phone' AS phone_type
FROM mobile_phones;
-- ========================
-- 🔁 DISTINCT PRACTICE
-- ========================
SELECT DISTINCT brand_name FROM mobile_phones;
SELECT DISTINCT brand_name AS unique_brand_name FROM mobile_phones;
SELECT DISTINCT brand_name AS 'Unique Brand' FROM mobile_phones;
SELECT DISTINCT refresh_rate AS all_type_refresh_rate
FROM mobile_phones;
SELECT DISTINCT processor_brand, refresh_rate
FROM mobile_phones;
SELECT DISTINCT brand_name, processor_brand, refresh_rate
FROM mobile_phones;
-- =====================================================================
-- 🎯 WHERE CLAUSE PRACTICE (CONDITIONS)
-- =====================================================================
SELECT * FROM mobile_phones
WHERE brand_name = 'Apple';
SELECT model, brand_name, price
FROM mobile_phones
WHERE brand_name = 'vivo';
SELECT * FROM mobile_phones
WHERE price > 25000;
SELECT * FROM mobile_phones
WHERE brand_name <> 'Apple';
SELECT * FROM mobile_phones
WHERE has_ir_blaster = 'True' AND brand_name = 'poco';
SELECT * FROM mobile_phones
WHERE price BETWEEN 12000 AND 25000;
SELECT * FROM mobile_phones
WHERE price < 25000 AND rating > 70;
SELECT * FROM mobile_phones
WHERE price < 15000 AND rating > 70 AND brand_name = 'samsung';
SELECT * FROM mobile_phones
WHERE battery_capacity > 4000 AND ram_capacity > 8 AND brand_name = 'samsung';
SELECT * FROM mobile_phones
WHERE brand_name IN ('samsung','realme','oneplus');
SELECT * FROM mobile_phones
WHERE brand_name NOT IN ('apple','ikall','nothing','asus');
SELECT * FROM mobile_phones
WHERE brand_name LIKE 'D%';
SELECT * FROM mobile_phones
WHERE brand_name LIKE '%a';
SELECT * FROM mobile_phones
WHERE brand_name LIKE '%am%';
SELECT * FROM mobile_phones
WHERE brand_name LIKE '__';
SELECT * FROM mobile_phones
WHERE rating IS NOT NULL;
SELECT * FROM mobile_phones
WHERE price IS NULL;
-- =====================================================================
-- 🛠️ UPDATE PRACTICE
-- =====================================================================
SELECT * FROM mobile_phones
WHERE brand_name = 'sony';
UPDATE mobile_phones
SET brand_name = 'samsung'
WHERE brand_name = 'sony';
UPDATE mobile_phones
SET price = 15000
WHERE price BETWEEN 10000 AND 20000;
UPDATE mobile_phones
SET price = 60000, rating = 9
WHERE price BETWEEN 50000 AND 70000 AND rating > 7;
SELECT * FROM mobile_phones WHERE brand_name = 'Apple';
UPDATE mobile_phones
SET internal_memory = 128
WHERE brand_name = 'Apple' AND price BETWEEN 90000 AND 100000;
UPDATE mobile_phones
SET price = price + 1000
ORDER BY rating DESC
LIMIT 7;
-- =====================================================================
-- ❌ DELETE PRACTICE
-- =====================================================================
USE school;
SELECT * FROM student_details
WHERE name = 'Aditya';
DELETE FROM student_details
WHERE name = 'Aditya';
DELETE FROM student_details
WHERE city = 'jaipur';
SELECT COUNT(*) FROM student_details;
-- Delete in aman database
USE aman;
SELECT * FROM mobile_phones WHERE price > 125000;
DELETE FROM mobile_phones WHERE price > 125000;
SELECT * FROM mobile_phones
WHERE brand_name = 'nokia' AND battery_capacity < 5000;
DELETE FROM mobile_phones
WHERE brand_name = 'nokia' AND battery_capacity < 5000;
SELECT * FROM mobile_phones
WHERE brand_name = 'nokia' AND price > 10000 AND battery_capacity > 5000;
DELETE FROM mobile_phones
WHERE brand_name = 'nokia' AND price > 10000 AND battery_capacity > 5000;
-- =====================================================================
-- 🎯 PRACTICE SUMMARY
-- =====================================================================
/*
MASTERED TODAY:
✅ SELECT (Basic + Advanced)
✅ DISTINCT, WHERE, LIKE, BETWEEN, IN, NOT IN
✅ UPDATE with multiple conditions + ORDER BY + LIMIT
❌ DELETE with safe filtering
📌 PERFECT SQL DML PRACTICE COMPLETED
*/