mysql的4表联查讲解_mysql
1.测试数据如下
student 表,学生表
sno sname ssex sage sdept
1 刘敏 女 19 计算机
2 周松 男 21 计算机
3 张明 男 20 经贸
4 孟欣 女 21 信管
学生课程表 course
cno cname cpno
1 数据库 4
2 操作系统 3
3 信息系统
4 数据结构 2
学生选课表
sno cno grade
1 1 89
1 2 97
1 3 67
2 1 78
2 2 90
使用内联操作
直接式,无需关键词
查询学生信息和选课成绩
select ss.sno,ss.sname,course.cname,sc.grade from student ss ,sc,course where ss.sno=sc.sno and course.cno=sc.cno;
关键词INNER JOIN
select ss.sno,ss.sname,course.cname,sc.grade from student ss INNER JOIN sc on ss.sno=sc.sno INNER JOIN course on course.cno=sc.cno
输出结果
sno sname cname grade
1 刘敏 数据库 89
1 刘敏 操作系统 97
1 刘敏 信息系统 67
2 周松 数据库 78
2 周松 操作系统 90
课程名称和选行课程
select c1.cname,c2.cname from course c1,course c2 where c2.cpno=c1.cno;
select c1.cname,c2.cname from course c1 INNER JOIN course c2 on c2.cpno=c1.cno
2.左连接
左表所有记录,右表条件满足
查询所有学生的成绩
select sx.*,sc.cno,sc.grade from student sx LEFT JOIN sc on sc.sno=sx.sno;
sno sname ssex sage sdept cno grade
1 刘敏 女 19 计算机 1 89
1 刘敏 女 19 计算机 2 97
1 刘敏 女 19 计算机 3 67
2 周松 男 21 计算机 1 78
2 周松 男 21 计算机 2 90
3 张明 男 20 经贸
4 孟欣 女 21 信管
3.右连接
右表全部,左表条件满足
查询选课学生的成绩 信息
select sx.*,sc.cno,sc.grade from student sx RIGHT JOIN sc on sc.sno=sx.sno;
sno sname ssex sage sdept cno grade
1 刘敏 女 19 计算机 1 89
1 刘敏 女 19 计算机 2 97
1 刘敏 女 19 计算机 3 67
2 周松 男 21 计算机 1 78
2 周松 男 21 计算机 2 90
4.子查询 EXISTS
先执行外层,然后将执行外层的每一行都传递到子查询里面,然后比对,得出真假,类似 嵌套的 2 个遍历
mysql的4表联查讲解_mysql相关推荐
- mysql的4表联查讲解,MySQL的多表联查
1.内部连接 \ 规则:返回两个表的通用记录 \ 语法: -语法一 select *从表1的内部联接表2上的表1.公用字段=表2.公用字段 -语法二 select *从表1的约束,表2其中表1.公共字 ...
- mysql 外键查询_mysql 外键查询(mysql数据库多表联查)
mysql 外键查询(mysql数据库多表联查) 2020-07-24 11:51:00 共10个回答 查看方式主要是通过第三方工具或者是sql语句,主要有以下三种方式1:使用Navicateform ...
- mysql查看数据库表大小语句_MySQL查看数据库表容量大小的命令语句讲解
MySQL查看数据库表容量大小的命令语句讲解 发布时间:2020-04-27 14:17:23 来源:亿速云 阅读:180 作者:三月 本文主要给大家介绍MySQL查看数据库表容量大小的命令语句讲解, ...
- mysql数据库分表备份脚本_MySQL分库分表备份脚本
MySQL分库分表备份脚本 vim /data/mysqlback.sh #! /bin/bash BAKPATH=/data/mysql-back MYUSER=root MYPASS=" ...
- mysql 为数据表添加字段_MySQL数据表添加字段实例
MySQL 允许在开头.中间和结尾处添加字段.针对不同的位置,MySQL数据表添加字段的方式也有所不同,下面我们一起来看MySQL数据表添加字段的实例,方便我们理解MySQL数据表添加字段的方式. M ...
- mysql删除emp表的语句_MySQL删除数据表(DORP TABLE语句)
在MySQL数据库中,对于不再需要的数据表,我们可以将其从数据库中删除. 在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失. 下面我们来了解一 ...
- mysql如何查看表的大小_mysql 如何查看表的大小
mysql 查看表的大小方法:1.查看所有数据库各表容量大小,代码为[truncate(data_length/1024/1024, 2) as '数据容量(MB)']:2.查看指定数据库各表容量大小 ...
- mysql数据库分表备份脚本_MySQL分库分表备份数据库脚本的操作
MySQL分库分表备份数据库脚本的操作 发布时间:2020-05-26 16:52:23 来源:51CTO 阅读:134 作者:三月 本篇文章给大家主要讲的是关于MySQL分库分表备份数据库脚本的操作 ...
- mysql删除多表sql语句_Mysql删除多表及多表记录sql语句
本文章总结了同时删除多个数据表与同时删除多个数据表的关系数据的方法,有需要的朋友可参考一下. 批量删除多表 删除所有pre_前缀的表 代码如下 复制代码 SELECT CONCAT( 'drop ...
最新文章
- 欢迎大家批评:CSDN Blog用户体验调查
- “第三届中国行业互联网大会暨CIO班12周年年会”成功举行
- 03-1.JavaScript基础语法略写/模版字符串
- java ee cdi_Java EE CDI Producer方法教程
- MANIFEST.MF和feature.xml版本控制规则
- Jquery特殊效果
- mysql线程缓存和表缓存
- mysql trigger 有时 不执行_Mysql 寒假刷题TIPs
- div iframe 显示html,IE中iframe标签显示在DIV之上的问题解决方案
- 一文学会Python标准库struct序列化与反序列化
- php 余额冻结设计_加密货币交易所:微服务架构设计
- 约束布局管理器 CAConstraintLayoutManager 以及其不起作用
- spark sql 对接 HDFS
- Qt中用QLabel显示图片
- Java面试题及答案整理(2021最新版)
- ffmpeg 命令转为 avi,mp4,h264, yuv
- ThinkPad E431如何关闭触摸板
- Mac文件夹如何进行加密
- 程序员学数学读哪本书?
- 手机APP神器大全,这些被堪称神器的APP你用过哪些!
热门文章
- 讯飞开放平台七夕福利
- linux apache fcgi,Apache使用fcgi方式与PHP结合
- VB如何获得本机IP
- 魔兽争霸war3在笔记本电脑windows7 无法全屏 解决方案
- 施耐德电气ComPacT NSX塑壳断路器收获肯定彰显实力
- DELMIA软件:文本信息提示框功能介绍与使用方法
- 动态pptp、l2tp、sstp搭建脚本
- BWG连接不上问题大全
- java 分班_新生——S型分班算法
- 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)