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注入。
代码待续…

  • 15
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值