Mysql的关联查询以及语句

一、mysql的连接查询

1、等值连接

这里是三张表的等值连接

select rp.role_id,rp.permission_id from role_permission rp, role r, permission p

where rp.role_id=r.id and rp.permission_id=p.id

2、内连接: 角色:系统管理员 是否拥有权限:增加会员

INNER JOIN内连接,或等值连接

这里是三张表的内连接

select rp.role_id,rp.permission_id from role_permission rp

inner join role r on rp.role_id=r.id inner join permission p on rp.permission_id=p.id

where r.name='系统管理员' and p.name='增加会员'

3、获取左表所有记录,即使右表没有对应匹配的记录

LEFT JOIN(左连接)/ left outer join on

select * from student s left join student_course sc on s.id=sc.student_id

说明:左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录。右表记录不足的地方均为NULL

4、用于获取右表所有记录,即使左表没有对应匹配的记录。

select * from student s right join student_course sc on s.id=sc.student_id

RIGHT JOIN(右连接)/ right outer join on

说明: 与左(外)连接相反。右(外)连接,左表只会显示符合搜索条件的记录,而右表的记录将会全部表示出来。左表记录不足的地方均为NULL。

二、sql语句分类

Structured Query Language 结构化的查询语言

1、DDL语句,是数据定义语言,如CREATE 和DROP

2、DML语句,是数据库操作语言,如INSERT、DELETE、UPDATE和SELECT

3、DCL语句,数据库控制语言,GRANT或REVOKE

相关推荐
彡皮16 小时前
qt实用学习案例:数据库设计+图表显示+model-view模式+样式表定制
数据库·qt·学习
SamDeepThinking16 小时前
MySQL 8 索引与 B+ 树-初浅理解
mysql
码出钞能力17 小时前
如何屏蔽GORM个别sql的日志
数据库·sql·gorm
TDengine (老段)17 小时前
TDengine 数字函数 RADIANS 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
小蒜学长17 小时前
springboot基于JAVA的二手书籍交易系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
野犬寒鸦17 小时前
从零起步学习MySQL || 第七章:初识索引底层运用及性能优化(结合底层数据结构讲解)
java·数据库·后端·mysql·oracle
6极地诈唬18 小时前
【sqlite】WAL初探
数据库·sqlite
2501_9159184118 小时前
App 使用 HTTPS 的工程化实战,从接入到真机排查的一线指南
android·ios·小程序·https·uni-app·iphone·webview
PieroPc18 小时前
用Python Streamlit sqlite3 写一个简单博客
数据库·python·sqlite
啊森要自信18 小时前
【MySQL 数据库】使用C语言操作MySQL
linux·c语言·开发语言·数据库·mysql