MySQL的连接查询

Posted siyinkeshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的连接查询相关的知识,希望对你有一定的参考价值。

1.连接:将不同表的记录连到一起的最普遍的方法。
分类:内连接和外连接
用法:查询信息来源来自多张表
2:内连接的基础:交叉连接,又称迪尔卡积连接加粗样式或叉乘
结果集为两表行数之积。
语法:SELECT  *FROM TABLE1 CROSS  JOIN TABLE2; 

        即:SELECT  *FROM TABLE1,TABLE2;
常用写法:SELECT *FROM 一  表首字母,表二 表二首字母
缺点:有大量的数据冗余
3:内连接查询

简介:应用程序中非常常见的连接操作,默认的连接

类型,基于连接谓词将两张表的列组合在一起,产生新的结果表(不是重点)
1.分类:交叉连接 相等连接 自然连接
方法:主键连外键

语法:SELECT  字段列 FROM TABLE1 【INNER】JOIN TABLE2  ON TABLE1.主键=TABLE2.外键 【WHERW 条件】;
即:SELECT  字段列 FROM TABLE1, TABLE1首字母名  JOIN TABLE2 TABLE2首字母名

ON TABLE1首字母名.主键=TABLE2首字母名.外键 【WHERW 条件】;

常用内连接:SELECT  字段列 FROM TABLE1, TABLE1首字母名 TABLE2, TABLE2首字母名 WHERE TABLE1.主键=TABLE2.外键 ;

注意:*代表查询全部,【】内的可以省略

自然连接:特殊的内连接
注意:连接依据列必须是相同的字段(字段名相同,字段属性相同)
语法:SELECT 字段列 FROM TABLE1 NATURAL JOIN TABLE2 【WHERW 条件】;

优点:去掉重复列
4:多表连接:两两连接

注意:和两表连接类似(参照常用内连接)
5.外连接

语法:SELECT  字段列 FROM TABLE1, TABLE1首字母名 LEFT(RIGHT,FULL,OUTER) JOIN TABLE2 TABLE2首字母名 

 ON TABLE1首字母名.主键=TABLE2首字母名.外键;

用处:希望不满足条件的记录也出现在查询结果中
1.左外连接:左表所有记录和右表满足条件的记录( LEFT JOIN)
2.右外连接:右表所有记录和左表满足条件的记录(
RIGHT JOIN )

注意:OUTER可省


 

以上是关于MySQL的连接查询的主要内容,如果未能解决你的问题,请参考以下文章

mysql init_connect 参数的其他用处

mysql慢查询

Mysql运行状态查询命令及调优详解

sql cross join - 有人发现它有啥用处? [关闭]

多表查询

EasyClick 之 MySQL 连接查询