mysql之常用函数、聚合函数以及合并(union&union all)

本文详细介绍了数据库查询中的笛卡尔集及其避免方法,包括等值连接、内连接、左外连接和右外连接的使用。同时,讲解了常用的字符和日期函数,以及聚合函数在数据处理中的应用。此外,还提到了数据合并的UNION与UNION ALL操作。通过对这些概念的理解和实践,可以有效提升数据库查询效率和数据处理能力。
摘要由CSDN通过智能技术生成

一、笛卡尔集

如:

t_mysql_beauty表:

 t_mysql_boys表:

select * from t_mysql_beauty b,t_mysql_boys bo

也就是有17*5条数据

笛卡尔集会在下面条件下产生

        ①、省略连接条件

        ②、连接条件无效

        ③、所有表中的所有行互相连接

数据过大,可能运行时使电脑卡顿,

为了避免笛卡尔集, 可以在 WHERE 加入有 效的连接条件。

、等值/连接连接

1、交叉连接

如:

SELECT NAME,boyName FROM boys,beauty WHERE beauty.boyfriend_id= boys.id;

2、内连接 :

[inner] join on 

3、左外连接

left [outer] join on

4、右外连接

right [outer] join on

5、等值连接

① 多表等值连接的结果为多表的交集部分

②n表连接,至少需要n-1个连接条件

③ 多表的顺序没有要求

④一般需要为表起别名

⑤可以搭配前面介绍的所有子句使用,比如排序、分组、筛选

如:查询女神名和对应的男神名

SELECT NAME,boyName FROM boys,beauty WHERE beauty.boyfriend_id= boys.id;

三、常见函数

1、字符函数:

作用函数结果
转小写LOWER('SQL Course')sql course
转大写UPPER('SQL Course')SQL COURSE
拼接CONCAT('Hello', 'World')HelloWorld
截取SUBSTR('HelloWorld',1,5)Hello
长度LENGTH('HelloWorld')10
字符出现索引值INSTR('HelloWorld', 'W')6
字符截取后半段TRIM('H' FROM 'HelloWorld')elloWorld
字符替换REPLACE('abcd','b','m')amcd

如:将姓变大写,名变小写,然后拼接

SELECT CONCAT(UPPER(last_name),LOWER(first_name)) 姓名 FROM t_mysql_employees;

2、日期函数

作用函数结果
获取当前日期now()
将日期格式的字符转换成指定格式的日期STR_TO_DATE('9-13-1999','%m-%d-%Y')1999-09-13
将日期转换成字符DATE_FORMAT(‘2018/6/6’,‘%Y年%m月%d日’)2018年06月06日

MySQL

如:将字符通过指定的格式转换成日期

SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;

如:将日期转换成字符

SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;

四、聚合函数

①、 SUM():求和
②、 AVG():求平均值
③、MAX():求最大值 
④、 MIN():求最小值 
⑤、 COUNT():统计记录的条数。常与GROUP BY一起使用,有筛选的条件加关键字having

五、合并

①、UNION:将所有的查询结果合并到一起,然后去除掉相同的记录

②、UNION ALL:将所有的查询结果合并到一起,不会去除掉相同的记录

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值