表连接查询
什么是表连接查询?需要联合多张表才能查到想要的数据
表连接的类型
- 内连接:inner join 或者 join (显示的是左右表都有完整字段值的记录)
- 左外连接:left outer join (保证左表数据的完整性)
示例
查询0316班的所有学生
//嵌套查询
SELECT * FROM t_student where class_id = (SELECT id FROM t_class WHERE name = 'iOS' );
//内连接(换行写语句也是可以的)
SELECT s.id s_id,s.name s_name,s.age s_age,s.class_id s_class_id,
c.name c_name ,c.room c_room
FROM t_student s INNER JOIN t_class c
ON s.class_id = c.id AND c.name = 'PHP';
//左外链街
SELECT s.id s_id,s.name s_name,s.age s_age,s.class_id s_class_id,
c.name c_name ,c.room c_room
FROM t_class c LEFT OUTER JOIN t_student s
ON s.class_id = c.id AND c.name = 'PHP';
/*
左外链接的含义就是左表(t_class)的内容无论在t_student中是否有对应都会在查询结果中显示出来。
*/