学习日记——8 20

一 MySQL多表查询

select  字段1,字段2... from 表1,2... [where 条件]

如果不加where条件查询的结果称为笛卡尔乘积。
笛卡尔乘积公式 : A表中数据条数 * B表中数据条数 = 笛卡尔乘积。
举例:

#查询人员和部门所有信息
select * from person,dept where person.did = dept.did;

注意: 多表查询时,一定要找到两个表中相互关联的字段,并且作为条件使用

2.多表连接查询

SELECT 字段列表
    FROM 表1  INNER|LEFT|RIGHT JOIN  表2
ON 表1.字段 =2.字段;

1)内连接查询

select * from person inner join dept  on person.did =dept.did;

2)外连接查询
左外连接查询

select * from person left join  dept  on  person.did =dept.did;

效果:人员表中的数据全部都显示,而 部门表中的数据符合条件的才会显示,不符合条件的会以 null 进行填充.

在这里插入图片描述
右外连接查询

select * from person right join  dept  on  person.did =dept.did;

效果:右表的数据优先展示
在这里插入图片描述

4)全连接查询(显示左右表中全部数据)

全连接查询是在内连接的基础上增加 左右两边没有显示的数据;mysql并不支持全连接 full JOIN 关键字;但是mysql 提供了 UNION 关键字.使用 UNION 可以间接实现 full JOIN 功能。

SELECT * FROM person LEFT JOIN dept ON person.did = dept.did
UNION
SELECT * FROM person RIGHT JOIN dept ON person.did = dept.did;

在这里插入图片描述

3.子语句查询
子查询(嵌套查询): 查多次, 多个select

注意: 第一次的查询结果可以作为第二次的查询的 条件 或者 表名 使用.

子查询中可以包含:IN、NOT IN、ANY、ALL、EXISTS 和 NOT EXISTS等关键字. 还可以包含比较运算符:= 、 !=、> 、<等.
具体方法在做习题的时候展开记录。

二 Mysql常用函数
1.order by 列名 排序
默认正序,如果想倒序 写法:order by 列名 desc
2.limit 限制结果的起始行 和行数
select * from 表名 limit 4,3 表示起始行为第五行,一共显示三行。
可用于分页。
3.聚合函数
count:select count(列名)from(表名)表示记录有效行数
相同用法还有:max查找列中最大值;min查找列中最小值;sum求列的总和;avg求一列的平均值
4.字符函数
在这里插入图片描述

5.数学函数
在这里插入图片描述

6.时间函数
在这里插入图片描述
7.流程控制函数
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值