100_SQL_Queries
100_SQL_Queries
10. CREATE TABLE enrollments (student_id INT, course_id INT, PRIMARY KEY(student_id, course_id));
11. INSERT INTO students (id, name, age) VALUES (1, 'Alice', 20);
12. INSERT INTO students (id, name, age) VALUES (2, 'Bob', 22);
17. UPDATE courses SET title = 'Advanced Mathematics' WHERE course_id = 101;
23. SELECT id, name FROM students WHERE age > 20;
31. SELECT s.name, c.title FROM students s JOIN enrollments e ON s.id = e.student_id JOIN courses c ON
e.course_id = c.course_id;
32. SELECT s.name, c.title FROM students s LEFT JOIN enrollments e ON s.id = e.student_id LEFT JOIN courses c
ON e.course_id = c.course_id;
33. SELECT s.name FROM students s WHERE NOT EXISTS (SELECT * FROM enrollments e WHERE s.id =
e.student_id);
35. SELECT s.name, c.title FROM students s RIGHT JOIN enrollments e ON s.id = e.student_id RIGHT JOIN courses c
ON e.course_id = c.course_id;
37. SELECT age, COUNT(*) FROM students GROUP BY age HAVING COUNT(*) > 1;
39. SELECT course_id, COUNT(*) AS enrollments FROM enrollments GROUP BY course_id HAVING enrollments > 0;
40. SELECT name, age FROM students WHERE age IN (SELECT age FROM students GROUP BY age HAVING
41. SELECT name FROM students WHERE age = (SELECT MAX(age) FROM students);
42. SELECT name FROM students WHERE id IN (SELECT student_id FROM enrollments);
43. SELECT * FROM students WHERE EXISTS (SELECT * FROM enrollments WHERE students.id =
enrollments.student_id);
44. SELECT course_id FROM enrollments WHERE student_id = (SELECT id FROM students WHERE name = 'Alice');
45. SELECT name FROM students WHERE age > ALL (SELECT age FROM students WHERE age < 22);
46. SELECT name FROM students UNION SELECT title FROM courses;
47. SELECT name FROM students INTERSECT SELECT title FROM courses;
48. SELECT name FROM students EXCEPT SELECT title FROM courses;
49. SELECT id FROM students UNION ALL SELECT student_id FROM enrollments;
50. SELECT name FROM students WHERE age > 21 UNION SELECT name FROM students WHERE age < 19;
51. CREATE VIEW young_students AS SELECT * FROM students WHERE age < 22;
54. CREATE VIEW course_summary AS SELECT course_id, COUNT(*) AS total FROM enrollments GROUP BY
course_id;
61. CREATE TABLE teachers (id INT PRIMARY KEY, name VARCHAR(50), subject VARCHAR(50));
63. ALTER TABLE students ADD CONSTRAINT fk_id FOREIGN KEY(id) REFERENCES teachers(id);
65. CREATE TABLE admins (id INT CHECK (id > 0), name VARCHAR(100));
70. COMMIT;
86. SELECT name, CASE WHEN age < 21 THEN 'Teen' ELSE 'Adult' END AS category FROM students;
87. SELECT name, IF(age > 22, 'Senior', 'Junior') AS status FROM students;
89. SELECT name FROM students WHERE age BETWEEN 20 AND 25;
99. SELECT s.name, c.title FROM students s JOIN enrollments e ON s.id = e.student_id JOIN courses c ON
e.course_id = c.course_id;