MySQL-99语法:外连接与内连接-(左内连接多表和查询)

-- 外连接:

不仅将两个表中满足条件的数据查询出来,也将不满足条件的数据查询出来

左外连接:不仅将两个表中满足条件的数据查询出来,也将不满足条件的左表中的数据查询出来

右外连接:不仅将两个表中满足条件的数据查询出来,也将不满足条件的右表中的数据查询出来

满外连接:(oracle中支持)

将左右表中不满足条件的数据同时查询吃来

-- 内连接

只是将满足条件的数据查询出来,称为内连接

oracle中支持满外连接:

将左右表中的数据同时查询出来

多表查询并不难,首先需要屡清楚表与表之间的结构关系

先说一下多表之间的关系:

MySQL-99语法:外连接与内连接-(左内连接多表和查询)

开始提交查询代码:

具体代码:

-- 账户 - 账户角色 - 角色 - 角色权限 - 权限

实现:查询的内容

select SO.`OP_NAME`,SR.`ROLE_NAME`,SF.`FUNC_NAME`

from `sys_op` SO

实现:账户表与账户角色中间表 关联

LEFT JOIN `sys_op_role` SOR

ON SO.`OP_ID` = SOR.`OP_ID`

实现:账户角色中间表与角色表关联

LEFT JOIN `sys_role` SR

ON SOR.`ROLE_ID`=SR.`ROLE_ID`

实现:角色表与角色权限中间表的关联

LEFT JOIN `sys_role_func` SRF

ON SR.`ROLE_ID` = SRF.`ROLE_ID`

实现:角色权限中间表与权限表的关联

LEFT JOIN `sys_func` SF

ON SRF.`FUNC_ID` = SF.`FUNC_ID`

查询的条件,可以多个条件限制,实现更加精确的查询

where SO.`OP_ID`=100

注意:SQL语句的加载顺序,才能更好的查询自己想要的内容

结果:注意内容重复,可以实现添加相关的语句,实现过滤

MySQL-99语法:外连接与内连接-(左内连接多表和查询)

去重代码:DISTINCT

SELECT DISTINCT SO.`OP_NAME`,SR.`ROLE_NAME`,SF.`FUNC_NAME`

后面相同

结果:

MySQL-99语法:外连接与内连接-(左内连接多表和查询)

最近比较忙,谢谢各位的关注,后续会提供更多的资料与学习方法供大家参考学习。

见谅,晚安

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值