MySQL之连接查询、常见函数和合并

目录

一、连接查询

含义:

分类:

①按年代分类:

②按功能分类:

1、内连接查询  inner join

 2、左连接查询 left join

 3.右连接 right join

 4.等值连接

二、常用函数

含义:

分类:

①.字符函数

②.数字函数

③.日期函数

四、合并


 

一、连接查询

含义:

使用连接在多个表中查询数据。 又称多表查询,当查询的字段来自于多个表时,就会用到连接查询

分类:

①按年代分类:

sql92标准:仅仅支持内连接
sql99标准【推荐】:支持内连接+外连接(左外和右外)+交叉连接

②按功能分类:

内连接
等值连接
非等值连接
自连接
外连接
左外连接
left join
右外连接right join
全外连接union /union all

交叉连接

*红色字体重点

1、内连接查询  inner join

关键字:inner  join   on

语句

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

特点: 

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

 2、左连接查询 left join

含义:

left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。 左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。

关键字:left join on / left outer join on

语句:

SELECT 查询列表 FROM 表1 别名1 left join 表2 别名2 ON 连接条件;

 3.右连接 right join

 含义:

right join是right outer join的简写,它的全称是右外连接,是外连接中的一种。与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL

关键字:right join on / right outer join on

语句:

SELECT 查询列表 FROM 表1 别名1 right join 表2 别名2 ON 连接条件;

 4.等值连接

特点:

① 多表等值连接的结果为多表的交集部分
②n表连接,至少需要n-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

②.数字函数

作用函数结果
四舍五入ROUND(45.926, 2)45.93
截断TRUNC(45.926, 2)45.92
求余MOD(1600, 300)100

③.日期函数

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

四、合并

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

select 'a','b','c' UNION ALL select 'a','b','c'

 在这里插入图片描述

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

select 'a','b','c' UNION  select 'a','b','c' 

在这里插入图片描述 

使用条件:结果集列数个数相同,列的类型还要相同或是兼容
使用场景:在项目统计报表模块,用来合并数据 

内容有点多?但是都是之前学过的哦~~


版权声明:本文为qq_54936371原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。