ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-09-08 13:04:47  阅读:214  来源: 互联网

标签:join 函数 union 条件 别名 查询 mysql 连接


1、笛卡尔集

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

①、 省略连接条件

②、连接条件无效

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

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

2、等值连接

①、使用连接在多个表中查询数据

(1) 在 WHERE 子句中写入连接条件;

(2)在表中有相同列时,在列名之前加上表名前缀。

②、区分重复的列名

(1) 在不同表中具有相同列名的列可以用表的别名加以区分。

(2)如果使用了表别名,则在select语句中需要使用表别名代替表名。

(3) 表别名最多支持32个字符长度,但建议越少越好。

③、表的别名

(1)使用别名可以简化查询。

(2) 使用表名前缀可以提高执行效率。

④、连接多个表 

(1) 连接 n个表,至少需要 n-1个连接条件。 例如:连接三个表,至少需要两个连接条件。

例子:查询员工名、部门名

SELECT last_name,department_name FROM t_mysql_departments d JOIN t_mysql_employeese ON e.`department_id` = d.`department_id`;

一、连表查询


1、 内连接 [inner] join on

语法:select 查询列表 from 表1 别名 inner join 表2 别名 on 连接条件;

特点:
①添加排序、分组、筛选;
②inner可以省略;
③ 筛选条件放在where后面,连接条件放在on后面,提高分离性,便于阅读;
④inner join连接和sql92语法中的等值连接效果是一样的,都是查询多表的交集;

2、 外连接

特点:
①、外连接的查询结果为主表中的所有记录如果从表中有和它匹配的,则显示匹配的值如果从表中没有和它匹配的,则显示null外连接查询结果=内连接结果+主表中有而从表没有的记录
②、左外连接,left join左边的是主表;右外连接,right join右边的是主表
③、左外和右外交换两个表的顺序,可以实现同样的效果
④、全外连接=内连接的结果+表1中有但表2没有的+表2中有但表1没有的

3、 左外连接 left [outer] join on
4、 右外连接 right [outer] join on
5、分页查询

应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求

语法:
select 查询列表 from 表 【join type join 表2 on 连接条件 where 筛选条件 group by 分组字段having 分组后的筛选 order by 排序的字段】 limit 【offset,】size;

offset要显示条目的起始索引(起始索引从0开始);size 要显示的条目个数
特点:
①limit语句放在查询语句的最后
②公式:要显示的页数 page,每页的条目数size

select 查询列表 from 表 limit (page-1)*size,size;

6、交叉连接:cross

例子:SELECT b.*,bo.* FROM t_mysql_beauty b CROSS JOIN boys bo;

7、等值连接


二、常用函数

1、字符串函数

①、UPPER() / LOWER():转大小写

②、 REPLACE():字符替换

③、 SUBSTR():截取

④、 TRIM():去除前后空格

⑤、 LENGTH():获取字符串长度

⑥、CONCAT():拼接

⑦、INSTR():字符出现索引值

⑧、TRIM():字符截取后半段

2.数字函数

①、FLOOR:向下取整

②、CEIL: 向上取整

③、ROUND:四舍五入

④、TRUNC():截断

⑤、MOD():求余

3.日期函数

①、NOW():获取当前日期和时间

②、 DAY():获取日期中的天

③、 MONTH():获取日期中的月

④、 YEAR():获取日期中的年

⑤、 日期转换函数DATE_FORMAT()/STR_TO_DATE()

⑥、DATE_FORMAT():将日期转换成字符串

⑦、STR_TO_DATE():将字符串转换成日期

查询各学生的年龄,只按年份来算 按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一

4、流程控制函数

①、if函数: if else 的效果

②、case函数的使用一: switch case 的效果

5、其他函数

SELECT  VERSION();
SELECT  DATABASE();
SELECT  USER();

三、聚合函数

1、 SUM():求和。

2、 AVG():求平均值。

3、MAX():求最大值。

4、 MIN():求最小值。

(1、2、3、4、常与GROUP BY一起使用,也可单独使用)

5、 COUNT():统计记录的条数。常与GROUP BY一起使用,也可单独使用 如果有筛选的条件加关键字having

四、合并

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

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

标签:join,函数,union,条件,别名,查询,mysql,连接
来源: https://blog.csdn.net/m0_60375302/article/details/120177571

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有