码迷,mamicode.com
首页 > 数据库 > 详细

Mysql高级查询

时间:2017-09-09 16:24:22      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:blog   alt   and   名称   返回   示例   outer   分享   另一个   

一、内连接(INNER JOIN)

1、等值连接

概述:指使用等号"="比较两个表的连接列的值,相当于两表执行笛卡尔后,取两表连结列值相等的记录。

语法

SELECT 列
FROM 表1 INNER JOIN 表2
ON 表1.列 = 表2.列

示例

 

SELECT A.*, B.*
FROM student_info A inner join student_score B
ON A.student_id = B.student_id

技术分享

2、非等值连接

概述指使用大于号">"或小于号"<"比较两个表的连接列的值,相当于两表执行笛卡尔后,取一个表大于或小于另一个表的连结列值的记录。

语法

SELECT 列
FROM 表1 INNER JOIN 表2
ON 表1.列 <> 表2.列

示例

 

SELECT A.*, B.*
FROM student_info A inner join student_score B
ON A.student_id > B.student_id

结果

技术分享

二、外联结

1、左外连接(LEFT OUTER JOIN)

概述:指将左表的所有记录与右表符合条件的记录,返回的结果除内连接的结果,还有左表不符合条件的记录,并在右表相应列中填NULL。

示例

 

SELECT A.*, B.*
FROM student_info A left join student_score B
ON A.student_id = B.student_id

结果

技术分享

 

3、全外连接(FULL JOIN)——MySQL不支持

概述:指将左表所有记录与右表所有记录进行连接,返回的结果除内连接的结果,还有左表与右表不符合条件的记录,并在左表与右表相应列中填NULL。

 

三、自然连接(NATURAL JOIN

概述:指自动将表中相同名称的列进行记录匹配。

示例

SELECT A.*, B.*
FROM student_info A natural join student_score B


结果

技术分享

四、自连接

概述:指用表的别名实现表自身的连接。

示例

 

SELECT B.*
FROM student_score A, student_score B
WHERE A.student_id = B.student_id
AND B.student_score > 80

结果

技术分享

 

 

 

Mysql高级查询

标签:blog   alt   and   名称   返回   示例   outer   分享   另一个   

原文地址:http://www.cnblogs.com/zqr99/p/7498458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!