多表查询练习之等值连接之嵌套之内连接
等值连接:
三张表:
select 查询内容/结果
from A,B,C
where A.主键=B,主键 and C.主键=B.主键
and 查询的条件
两张表:
select 查询内容/结果
from A,B
where A.主键=B.主键
and 查询的条件
sql建表请参考《sql联系表》
案例演示:
查询的数学的成绩
- 查询的结果是:成绩
- 查询的条件是:学生表中xm=‘张三’,课程表中kcm='数学'
- 用到了哪些表
等值连接:
select cj from xsb,cjb,kcb where xsb.xh=cjb.xh and kcb.kch=cjb.kch and xm='李四' and kcm='数学';
- 查询李四的学号
- 查询数学的课程号
- 通过学号和课程号查询成绩
- 合并SQL语句
嵌套:
select cj from cjb where xh = (select xh from xsb where xm='李四') and kch = (selet kch from kcb where kcm='数学');
内连接:
语法:
三张表:
select *
from A inner join B on A.主键=B.外键
inner join C on C.主键=B.主键
Where 查询的条件
两张表:
select *
from A inner join B on A.主键=B.主键
where 查询的条件
select * from xsb inner join cjb on xsb.xh=cjb.xh inner join kcb on kcb.kch=cjb.kch where xm='李四' and kcm='数学';