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

一、笛卡尔集

如:

t_mysql_beauty表:

mysql之常用函数、聚合函数以及合并(union&union all)_第1张图片

 t_mysql_boys表:

mysql之常用函数、聚合函数以及合并(union&union all)_第2张图片

select * from t_mysql_beauty b,t_mysql_boys bo

mysql之常用函数、聚合函数以及合并(union&union all)_第3张图片

也就是有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之常用函数、聚合函数以及合并(union&union all)_第4张图片

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

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:将所有的查询结果合并到一起,不会去除掉相同的记录

 

你可能感兴趣的:(mysql,数据库,sql)