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

相关推荐
学习中的码虫30 分钟前
数据库-MySQL
数据库
天天摸鱼的java工程师39 分钟前
高考放榜夜,系统别崩!聊聊查分系统怎么设计,三张表足以?
java·后端·mysql
louisgeek40 分钟前
Git 使用 SSH 连接
android
Karry的巡洋舰43 分钟前
【数据库】安全性
数据库·oracle
二流小码农1 小时前
鸿蒙开发:实现一个标题栏吸顶
android·ios·harmonyos
软件测试小仙女1 小时前
鸿蒙APP测试实战:从HDC命令到专项测试
大数据·软件测试·数据库·人工智能·测试工具·华为·harmonyos
exe4521 小时前
jdbc查询mysql数据库时,出现id顺序错误的情况
数据库·mysql
John Song2 小时前
macOS 上使用 Homebrew 安装redis-cli
数据库·redis·macos
数据知道2 小时前
Mac电脑上本地安装 redis并配置开启自启完整流程
数据库·redis·macos
Lonely丶墨轩2 小时前
Redis 缓存策略:借助缓存优化数据库性能并保障数据一致性
数据库·redis·缓存