SQL语句如何如何实现超简单的多表查询

树缝里也漏着一两点路灯光,没精打彩的,是渴睡人的眼。春尚浅,几处山顶上的梅花却挣扎着吐出红苞来。微风柔和地吹,柔和地爱抚我的面孔。荷塘里的荷花都羞涩地打着朵。落叶随着风高低起舞。

一、简单的多表联查(inner join,left join,right join)

1、 两表联查

user_table表

department表

1、inner join代表内连接,数据显示内容以外键为准,意思就是外键没有的,数据就不显示。

select user_table.id,user_table.username,user_table.sex,user_table.phone,user_table.address,department.dname 
from user_table inner join department 
on user_table.departmentid=department.did;

查询结果如下:

2、left join代表左连接,数据显示内容以左边表为准,意思就是不管右边表查出来是否有数据,左边表的数据有的一定会显示。

select user_table.id,user_table.username,user_table.sex,user_table.phone,user_table.address,department.dname 
from user_table left join department 
on user_table.departmentid=department.did;

3、right join代表右连接,数据显示内容以右边表为准,意思就是不管左边表查出来是否有数据,右边表的数据有的一定会显示。

select user_table.id,user_table.username,user_table.sex,user_table.phone,user_table.address,department.dname 
from user_table right join department 
on user_table.departmentid=department.did;

2、三表联查

只需要在sql语句后面继续加上inner join即可,当然这是以内连接为主。如下:

work表

department表后面添加work表的主键作为关联的外键

select user_table.id,user_table.username,user_table.sex,user_table.phone,user_table.address,department.dname,work.worktext
from user_table
inner join department 
on user_table.departmentid=department.did
inner join work 
on work.workid=department.workid;

二、触发器

触发器就是当对某个表执行某个操作的时候触发,可以有效防止恶意的sql注入。

到此这篇关于SQL语句如何实现超简单多表查询的文章就介绍到这了,更多相关SQL语句多表查询内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能有感兴趣的文章
如何利用SQL Server触发器如何实现表的历史修改痕迹记录

SQL server高并发生成唯一订单号的方法如何实现

sqlserver查询去掉重复数据的如何实现

sqlserver 如何实现收缩数据库日志操作

sqlserver添加sa用户和密码的如何实现