导航菜单

子查询与视图

掌握复杂子查询、视图设计与权限控制

70%
子查询类型
子查询可分为标量、行、表、相关子查询,常与IN/EXISTS等关键字结合:
-- 标量子查询
SELECT name FROM students WHERE class_id = (SELECT id FROM classes WHERE name = '高三一班');
-- 表子查询
SELECT * FROM (SELECT * FROM students WHERE age > 18) t;
-- 相关子查询
SELECT name FROM students s WHERE score > (SELECT AVG(score) FROM students WHERE class_id = s.class_id);
-- IN/EXISTS用法
SELECT name FROM students WHERE class_id IN (SELECT id FROM classes WHERE grade = 3);
SELECT name FROM students WHERE EXISTS (SELECT 1 FROM scores WHERE scores.student_id = students.id);