mysql多表操作

目录

一、多表连接

1.交叉连接

 2.内连接

3.外连接 

1.左连接 LEFT JION 

2.右连接 RIGHT JOIN

 4.自然连接

二、多表连接查询

1.简单的子查询

2.联合查询

3.带有IN的子查询

总结:


一、多表连接

  • 交叉连接
  • 内连接
  • 外连接
  • 自然连接

1.交叉连接

笛卡尔积,保留所有的字段,只是单纯的连接

SELECT 查询字段 FROM 表1 CROSS JOIN 表2;

 CROSS JOIN用于连接两个要查询的表。

通过该语句可以查询两个表中所有的数据组合

 2.内连接

使用比较运算符设置连接条件,将一个表中的所有行与另外一张表中的行进行匹配,只返回满足条件的行。

SELECT 字段1,字段2 FROM 表1 JOIN 表2 WHERE  字段列值1=字段列值2

3.外连接 

有主从之分,以后最容易使用的,并且和一相互转换

1.左连接 LEFT JION 

SELECT  字段1,字段2  FROM 表1  LEFT JION  表二   ON  条件表达式

2.右连接 RIGHT JOIN

SELECT  字段1,字段2  FROM 表1  RIGHT JOIN  表二   ON  条件表达式

 4.自然连接

自连接,就是两个表的两个副本进行连接

二、多表连接查询

子查询是指嵌套到其它查询里的SELECT语句,也称为嵌套查询。

1.简单的子查询

SELECT  字段1 字段2  FROM goods WHERE goods.id = (SELECT 字段1 FROM 表2 WHERE 表2.id<=2);

2.联合查询

SELECT * FROM 表1

UNION  * FROM 表2

UNION 联合查询的返回结果会自动去除重复项,如果不需要去除重复项需要使用 UNION ALL

3.带有IN的子查询

SELECT  列1  列2  FROM 表1 WHERE 表1.id IN (SELECT 表2.id FROM 表2  WHERE 表2.id<4);

 三.子查询的分类

查询的功能:为标量子查询、列子查询、行子查询和表子查询。

查询出现的位置可以分为WHERE子查询和FROM子查询。

WHERE子查询:标量子查询、列子查询和行子查询

FROM子查询:表子查询

总结:

  • 多表查询是在以后项目中经常用到的
  • 多表查询操作应该烂熟于心
  • 单表操作也需要烂熟于心
  • 数据库是后端程序员的基本知识点

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值