SQL 06: 内连接 (多表查询)

以学生系统为例

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; 

(学生里面只有两个人有档案, 故只有两条显示结果)

原文地址:https://www.cnblogs.com/JasperZhao/p/13450553.html