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

相关推荐
企业数字化笔记22 分钟前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
承渊政道36 分钟前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(从ChatGLM本地化到LoRA、PEFT的高级微调)
android·人工智能·pytorch·chatglm·本地化部署·大模型开发与微调
roman_日积跬步-终至千里36 分钟前
【数据Agent论文·查询与语义|06】RAT-SQL:怎样把问题、表和字段真正关联起来?
数据库·sql·数据分析
盟接之桥1 小时前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
我不会起名字3221 小时前
MySQL 深分页 LIMIT 1000000 卡死:3 种改写与 4 组实测对比
mysql·性能优化·索引·分页·limit
Nturmoils1 小时前
数据集成软件 KFS:多套业务库汇聚时,先把来源和口径理清
数据库
麦壳饼1 小时前
SonnetDB:批量写入的大小、背压与刷新策略
数据库·sonnetdb
weixin_460443562 小时前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
编程火箭车3 小时前
MySQL 拥抱 AI:向量、RAG、AutoML 全进了数据库
数据库·mysql·ai编程·向量数据库·rag·automl·mysql9
2601_962885723 小时前
如何用 Python 判断一只股票“追涨”还是“抄底”更有效?
android·开发语言·python