多表查询练习之等值连接之嵌套之内连接

等值连接:

三张表:

  select 查询内容/结果

  from A,B,C

  where A.主键=B,主键 and C.主键=B.主键

  and 查询的条件

两张表:

  select 查询内容/结果

  from A,B

  where A.主键=B.主键

  and 查询的条件

sql建表请参考《sql联系表》

案例演示:

查询的数学的成绩

  1. 查询的结果是:成绩
  2. 查询的条件是:学生表中xm=‘张三’,课程表中kcm='数学'
  3. 用到了哪些表

等值连接:

select cj
from xsb,cjb,kcb
where xsb.xh=cjb.xh and kcb.kch=cjb.kch
and xm='李四' and kcm='数学'
  1. 查询李四的学号
  2. 查询数学的课程号
  3. 通过学号和课程号查询成绩
  4. 合并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='数学'

 

  

 

posted @ 2020-07-08 10:06  友情天  阅读(340)  评论(0编辑  收藏  举报