介绍一下mysql中查询的重中之重,连接查询

创建student和teacher表,表中数据如下:

student
teacher

交叉连接查询

查询结果是连接的几个表中满足条件的相关联的数据的交集

sql
SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s ,(或者将逗号去掉使用CROSS JOIN) teacher t  WHERE  s.name = t.name
结果

内连接查询

将连接的几个表中满足条件的数据的交集查询出来,同上

sql
SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s INNER JOIN teacher t ON  s.name = t.name
结果

左外连接查询

将连接的左表中满足条件(where后边的数据)的全部数据和右表中满足连接条件(on后边的条件)的数据查询出来,如果在右表中没有满足连接条件的数据则以NULL值代替,右连接同理

sql
SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s LEFT JOIN teacher t ON  s.name = t.name
结果

右外连接查询

sql
SELECT s.id sid, s.name sname , t.id tid ,t.name tname FROM student s RIGHT JOIN teacher t ON  s.name = t.name
结果

分析

由于未进行任何优化处理,使用explain来分析以上sql时,结果如下:

使用连接查询时,一定要注意连接条件一定要添加,不然容易造成大量冗余数据出现

10、mysql数据表中数据的查询(2)相关推荐

  1. mysql数据表中取几列_MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 转自:http://www.baike369.com/content/?id=5355 在MySQL中创建数据库的目的是为了使用其中的数据. 使用sel ...

  2. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  3. 【MySQL】根据数据表中日期字段查询某个月每一天的数据量?查询数据表中所有日期每天的数据量?近三天每天数据量?

    前提这个table有一个日期字段date_time之类的 1.根据数据表中日期字段查询某个月每一天的数据量 如果要获取8月的数据,可以这么写: SELECT count(*), DATE_FORMAT ...

  4. SQL Server数据表中数据的增加(插入)、查询、修改、删除

    目录 零.码仙励志 一.数据表中数据的增加(插入) 二.数据表中数据的查询 三.数据表中数据的修改 四.数据表中数据的删除 零.码仙励志 伟人所达到并保持着的高处,并不是一飞就到的,而是他们在同伴们都 ...

  5. phpMyAdmin将数据表中数据导出为csv文件,用微软excel打开时,中文乱码的原因以及解决办法

    中文乱码的原因:用户使用phpMyAdmin可以将数据表中数据导出为csv文件,而使用Excel工具打开该文件时,可能出现中文乱码的情况.这是因为phpMyAdmin导出的csv文件使用了UTF-8编 ...

  6. mysql删除表中数据

    方法1:delete from 表名; 方法2:truncate table 表名; 比  较: 1> truncate 是整体删除 (速度较快),delete是逐条删除 (速度较慢) 2> ...

  7. 8、mysql数据表中数据的增删改

    已经介绍了数据表的创建.修改和删除,接下来介绍一下如何往数据表中添加数据.修改数据.删除数据 添加数据 # 默认给表中所有字段添加数据,要保证添加的数据列和字段列一致 insert into user ...

  8. MySQL 清空表中数据

    MySQL清空表中的数据(不算DROP语句) 1. truncate 语句 truncate table table_name 不能与where一起使用 truncate删除数据后是不可以rollba ...

  9. mysql 删除数据表中数据_Mysql-删除数据表-三种方式详解

    Mysql 删除数据表的三种方式详解 用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, ...

最新文章

  1. 秒懂JVM的三大参数类型,就靠这十个小实验了
  2. python提取网页中p标签中的内容_使用Python进行爬虫的初学者指南
  3. 非资深玩家留言频率限制(1024秒限制)
  4. P3935 Calculating
  5. Python语法命令学习-Day3(作业练习)
  6. delphi 获取驱动盘的卷标 号
  7. hasp运行不成功_国内首条ZA-PPV电缆成功运行50天 新电缆有啥不一样?
  8. python将灰度图转为彩色值_python实现彩色图转换成灰度图
  9. Axure 9.0.0.3704 授权码
  10. mac下安装pyaudio
  11. 2018年中小学计算机培训,2018年中小学网管员培训心得体会
  12. Open vSwitch: Provider 网络
  13. 【教程】如何批量将记事本文件或word文本转换成简体/繁体中文,下面教你方法
  14. 《算法图解》-9动态规划 背包问题,行程最优化
  15. Android | 安卓好用软件来袭,多御安全浏览器免费又强大
  16. RFC5731 - 中文翻译(原创)
  17. 百度BML飞桨训练营(十)面部表情迁移PaddleGAN--蒙娜丽莎在微笑
  18. JAVA基础--java简单知识04(类与对象,封装,继承,多态)
  19. 苹果cms模板_9ccms与苹果cms介绍.推荐小白用9ccms程序
  20. Symbian OS on E65应用开发手记(3)——SDK注册及14天学习总结

热门文章

  1. echarts 地图自定义图标_DMKB08:Echarts 分段设色
  2. gitee 从 拉取新分支到本地_Hexo博客详细教程(一)| 建立本地站点
  3. java 声明变量构成_Java—变量
  4. leetcode84. 柱状图中最大的矩形
  5. leetcode429. N 叉树的层序遍历(层序遍历05)
  6. vector的逆序输出(神奇的vector)
  7. [JS-DOM]核心DOM模型(Document,Element,Node)
  8. [Java网络编程基础]InetAddress的使用
  9. 备战ccpc分站赛:秦皇岛和威海站(数论模块和dp模块)
  10. 记录一次线上超时异常查询