美文网首页我爱编程
表连接:2018-06-21

表连接:2018-06-21

作者: hothome99 | 来源:发表于2018-06-21 11:44 被阅读0次

我们做了三个范式,做了一些拆表的操作,可是有时我们确实同时显示两个表中的内容,那么就需要进行表连接操作。

显示每个学生学过的课程:

select name,course from employee,training where empoyee.eid=training.eid;

求各部门的人数和各部门姓李的人数:

各部门的人数:(select department,count(*) from employee group by department)e;

各部门姓李的人数:(select department,count(*) from employee where name like '李%' group by department)ee;

select e.department,c '各部门的名字',cc '各部门姓李的名字'

from(select department ,count(*) from employee group by department) e,

(select department ,count(*) cc from employee where name like '李%' group by department)ee

where e.department=ee.department;

在SQL中表连接是用join,有逗号的地方用join代替,而消除笛卡儿集的语句用on.

使用join 看起来更加规范,还有一个好处就是join 的话句富有变化,我们可以使用left join(左连接) 或right join(右连接),如果是左连接,不依照左边表,将右边表加入进付出。左连接可以确保左边表的每一项一定会被显示出来。

select e.department,c '各部门的名字',cc '各部门姓李的名字' from(select department ,count(*) from employee group by department) e left join(select department ,count(*) cc from employee where name like '李%' group by department)ee on e.department=ee.department;

显示null很讨厌,这个地方应该显示0,MySQL提供了一个替换null的函数ifnull,如果内容不是空,就显示内容本身,如果内容是空,就显示预设的一个值。

select e.department,ifnull(c,0)  '各部门的名字',ifnull(cc,0) '各部门姓李的名字' from(select department ,count(*) from employee group by department) e left join(select department ,count(*) cc from employee where name like '李%' group by department)ee on e.department=ee.department;

相关文章

  • 表连接:2018-06-21

    我们做了三个范式,做了一些拆表的操作,可是有时我们确实同时显示两个表中的内容,那么就需要进行表连接操作。 显示每个...

  • 六、SQL–表连接⑤(自连接)

    自连接:参与连接的表为同一张表,即与自身连接。交叉连接、内连接、外连接等连接方式中只要参与连接的表是同一张表,那么...

  • 10. 连接表

    连接表 连接 连接用于检索存储在多个表中的数据 连接是一种机制,用来在一条SELECT 语句中关联表,可连接多个表...

  • 连接查询;外键

    连接查询 连接查询(join)分类:内连接、外连接、自然连接、交叉连接 使用方式:左表 join 右表 交叉连接(...

  • 连接查询;外键

    连接查询 连接查询(join)分类:内连接、外连接、自然连接、交叉连接 使用方式:左表 join 右表 交叉连接(...

  • Mysql中的连接

    知识点:交叉连接内连接外连接:左外连接、右外连接 以下实验涉及到两张表,表a和表b如下 交叉连接 对两张表进行笛卡...

  • 多表查询

    两张表: 左连接: 左表全部查询,以左表为基准 右连接: 右表全部查询,以右表为基准 内连接: 找交集

  • 数据库的表连接

    数据库中的表连接包括三种:内连接、外连接、交叉连接 t1(表): t2(表): 内连接(inner join) 查...

  • 数据库左连接、右连接、内连接+全连接

    声明:本文参考:数据库左连接、右连接、内连接、全连接笔记 1、新建表 表 table_a 表 table_b 2、...

  • MySQL 多表连接查询详解

    连接:就是将多个表连城一个表输出的过程叫连接(关联)。 连接类型:交叉连接、内连接、外连接(左外连接、右外连接)、...

网友评论

    本文标题:表连接:2018-06-21

    本文链接:https://www.haomeiwen.com/subject/yedqyftx.html