博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql内连接和外连接的使用
阅读量:4093 次
发布时间:2019-05-25

本文共 840 字,大约阅读时间需要 2 分钟。

区别

  • 内连接(inner join):取出两张表中匹配到的数据,匹配不到的不保留
  • 外连接(outer join):取出两张表中匹配到的数据,匹配不到的也会保留,其值为null
    (1)左外连接(left outer join):以左边的表为主表,左表数据全部保留
    (2)右外连接(right outer join):以右边的表为主表,右表数据全部保留
    注:以某一个表为主表,进行关联查询,不管能不能关联的上,主表的数据都会保留,关联不上的以null显示
    举例说明
    1、inner可以省略,as是给表起别名,也可以省略
// 写法一SELECT m.*, s.* FROM manualcase as m INNER JOIN step as s on s.manualcase_id = m.id// 写法二SELECT m.*, s.* FROM manualcase as m JOIN step as s on s.manualcase_id = m.id// 写法三SELECT m.*, s.* FROM manualcase m JOIN step s on s.manualcase_id = m.id

上述三种内连接写法等同于

SELECT * FROM manualcase m, step s WHERE s.manualcase_id = m.id

在这里插入图片描述

2、左外连接和右外连接
(1)左外连接(外连接与where同时使用)

SELECT m.*, s.* FROM manualcase as m LEFT JOIN step as s on s.manualcase_id = 1021 WHERE  m.module_id=100

(2)右外连接

SELECT m.*, s.* FROM step as s RIGHT JOIN manualcase as m on s.manualcase_id = 1021 WHERE  m.module_id=100

在这里插入图片描述

转载地址:http://aqtii.baihongyu.com/

你可能感兴趣的文章
单列模式-编写类ConfigManager读取属性文件
查看>>
java中float和double的区别
查看>>
Statement与PreparedStatement区别
查看>>
Tomcat配置数据源步骤以及使用JNDI
查看>>
before start of result set 是什么错误
查看>>
(正则表达式)表单验证
查看>>
jsp...
查看>>
网页代码中用<%=request.getContextPath()%>和不用的区别?
查看>>
在JS中 onclick="save();return false;"return false是
查看>>
JSTL 常用标签总结
查看>>
内容里面带标签,在HTML显示问题,JSTL
查看>>
JDBC与JNDI这两种连接方式有什么区别?
查看>>
PHP day9 post接受数据 variable type error:array
查看>>
Java api 1.8 中文 帮助文档 各个翻译版本
查看>>
elasticsearch篇之mapping
查看>>
elasticsearch篇之SearchAPI
查看>>
kubernetes高可用架构
查看>>
[集群监控]使用Prometheus + grafana + node-exporter
查看>>
[集群监控]使用cAdvisor + Heapster + InfluxDB + Grafana
查看>>
Docker技术应用场景
查看>>