Mysql基本命令之JOIN连接查询
来源:互联网 发布:cv模板 知乎 编辑:程序博客网 时间:2024/04/29 05:06
在mysql中,用的最多的就是查询就是join连接查询
join连接查询分为交叉连接 cross join
,内连接inner join
,外连接;
外连接又分为左连接left(out) join
,右连接right(out) join
,全外连接full (outer) join
交叉连接cross join
含义:
将两个表的每一行都进行两两对接之后的所有数据行所构成的结果数据;
通常,此时,结果数据中的行数,就是两个表的原先行数的乘积;
这种连接,又称为“笛卡尔积”;
形式:
//select * from 表1 cross join 表2 SELECT * FROM table1 CROSS JOIN tables2;
表1:
表2:
cross join后的结果:
内连接 inner join
含义:
将两个表的每一行进行两两对接之后的所有数据中,取出满足所给定的条件那些数据所得到的结果;
通常,此时,结果数据中的行数,不一定是多少,而是完全看具体条件的设定;
形式:
// select * from 表1 inner join 表2 on 表1.字段1 = 表2.字段2SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
原表:
inner join
连接查询的作用,就是找出这些表的连接数据结果中有意义的那些行
左外连接 left [outer] join
含义:
将两个表的内连接所得到的结果数据,再加上左边表中,那些不能满足连接条件的数据行所得到的结果。其中,后一部分数据的“右边部分”,填充空值(null);
形式:
//select * from 表1 left 【outer】 join 表2 on 表1.字段1 = 表2.字段2SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;
右外连接 right [outer] join
含义:
将两个表的内连接所得到的结果数据,再加上右边表中,那些不能满足连接条件的数据行所得到的结果。其中,后一部分数据的“左边部分”,填充空值(null);
形式:
//select * from 表1 right 【outer】 join 表2 on 表1.字段1 = 表2.字段2SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;
全外连接 full [outer] join
含义:
将两个表的内连接所得到的结果数据,
再加上左边表中,那些不能满足连接条件的数据行所得到的结果。其中“右边部分”,填充空值(null);
再加上右边表中,那些不能满足连接条件的数据行所得到的结果。其中“左边部分”,填充空值(null);
目前,mysql本身还没有实现该连接的语法形式!!!
实际上,在实际应用中基本上是多个表的连接,
形式为:
select * from 表1
inner join 表2 on 表1.字段1 = 表2.字段2
inner join 表3 on 表3.字段3 = 表1或表2的某字段
inner join 表4 on 表4字段4 = 表1或表2或表3的某字段
where 条件
可见,这样就可以将更多表连接起来,称为一个整体。
总体上,其实可以理解为:每次两个表连接完之后,都可以当做“新的表数据结果”,继续跟后续的一个表进行连接,再得到新的表数据结果,在继续跟后续连接。
- Mysql基本命令之JOIN连接查询
- django mysql 连接查询join
- Mysql的join(连接查询)
- Mysql基本命令之union查询
- MySql学习之Join查询
- MySql学习之Join查询
- mysql多表连接查询inner join, left join , right join ,full join ,cross join
- MySQL COUNT(*) INNER JOIN 内连接查询
- MySQL多表连接查询Left Join,Right Join
- MySQL多表连接查询Left Join,Right Join
- 【转】MySQL多表连接查询Left Join,Right Join
- MYSQL之连接查询
- MySQL之连接查询
- MySQL之连接查询
- Mysql基本命令之子查询
- Mysql之我见三(join查询)
- MySQL之基本命令
- mysql的left join、right join、inner join、union等连接查询
- 进程,线程
- 对操作符理解
- Git中的“LF will be replaced by CRLF”警告详解
- 华中科技大学数据结构上机实验第一次试验代码
- oracle 客户端字符集设置
- Mysql基本命令之JOIN连接查询
- 【SpringMvc】映射器Mapping
- 简单工厂模式
- ELM学习心得
- centos下安装redis
- 第三次
- Java中对象的序列化与反序列化
- python入门
- ping的wp