以学生系统为例
1. 为班级添加班级名, 用于做展示.
2. 如果查询学生在哪个班级里, 使用单表查询,则需要做两次查询:
查学生表,得到目标学生的class_id ----》 查班级表, select * from class where id = 1;
3.使用多表查询
select * from student,class; 会发生数据互补
剔除不需要的数据, 通过某个条件连接起来,我们称之为内连接:
1. select * from student,class where student.class_id = class.id;
2. select * from student s, class c where s.class_id = c.id;
给student起别名为s, class 起别名为c
3. 剔除多余的列
select s.id,s.name,s.age,s.sex,c.name from student s, class c where s.class_id = c.id;
4. 三表操作, 获取学生档案
select * from student s, class c, studentfile sf where s.class_id = c.id and s.id = sf.student_id;
(学生里面只有两个人有档案, 故只有两条显示结果)