mysql 两个sql值求交集 sql两个表取交集_两个sql交集


1.order by关键字

作用:用于对查询结果排序.

用法:利用asc(升序)和desc(降序)进行排序.

(升序)


mysql 两个sql值求交集 sql两个表取交集_字符串_02


(降序)


mysql 两个sql值求交集 sql两个表取交集_字符串_03


当排序列的值相同时可在后面添加备用排序选项(如图)


mysql 两个sql值求交集 sql两个表取交集_mysql 两个sql值求交集_04


2.集合操作

2.1 集合:每次对数据库查询后的结果视为一个集合;

(集合示意图)


mysql 两个sql值求交集 sql两个表取交集_数据类型_05


2.2 并集:关键词为union;操作显示结果为两个集合相加

(并集)


mysql 两个sql值求交集 sql两个表取交集_字符串_06


2.3 全集:关键词为unionall 操作显示结果为两个集合各显示一次,即重复部分显示两次.

(全集)


mysql 两个sql值求交集 sql两个表取交集_数据类型_07


2.4 交集:关键词为intersect,操作显示结果为两个集合共同的部分;

(交集)


mysql 两个sql值求交集 sql两个表取交集_字符串_08


2.5 差集:关键词为minus,操作后的结果为集合a减去与集合b重合的部分(注意SQL语句的顺序)

(差集)


mysql 两个sql值求交集 sql两个表取交集_单行函数_09


注意事项:使用集合操作注意:两条sql语句必须保证查询的列是一致的

错误1:列数不匹配

select * from emp where sal > 2000(该语句显示所有列)

minus

select empno from emp where deptno = 20;(该语句只显示empno列)

错误2:数据类型不匹配

select ename from emp where sal > 2000(该列ename数据类型是字符串)

minus

select empno from emp where deptno = 20;(该列empno数据类型是数字)

错误3:该条sql无意义

select sal from emp where sal > 2000

minus

select empno from emp where deptno = 20;

3 函数

函数分为单行函数和组函数.

3.1 单行函数:对单个数值进行操作并返回一个值;

且单行函数还可分为字符函数,数字函数,日期函数,转换函数和其他函数.

3.1.1 字符函数

1) concat(a,b),将a和b字符串拼接成一个字符串;

(concat图示)


mysql 两个sql值求交集 sql两个表取交集_单行函数_10


2)initcap(a),将a列的每个单词首字母大写;

(initcap图示)


mysql 两个sql值求交集 sql两个表取交集_数据类型_11


3)lower()/upper();将字符串小写/大写;

(upper图示)


mysql 两个sql值求交集 sql两个表取交集_mysql 两个sql值求交集_12


4)length;获取字符串长度;

(length图示)


mysql 两个sql值求交集 sql两个表取交集_字符串_13


5)lpad(a,b,c)/rpad(a,b,c);将a列从左边填充b位用c填充/将a列从右边填充b位用c填充;

注意:b位中包含原列数位

(lpad图示)


mysql 两个sql值求交集 sql两个表取交集_两个sql交集_14


6)ltrim(a,b)/rtrim;将a列左边的b字符清除/将a列右边的b字符清除;

注意:当不提供b字符时默认清除空格;

(ltrim图示)


mysql 两个sql值求交集 sql两个表取交集_单行函数_15


7)replace(a,b,c);将a中的b字符串替换为c;

(replace图示)


mysql 两个sql值求交集 sql两个表取交集_数据类型_16


8)substr(a,b,c);从a中的b开始截取c长度;

(substr图示)


mysql 两个sql值求交集 sql两个表取交集_数据类型_17


9)trim(a from b);将b中两端的a字符清除;

(trim图示)


mysql 两个sql值求交集 sql两个表取交集_单行函数_18


3.1.2 数字函数

1)abs();求绝对值;

(abs图示)


mysql 两个sql值求交集 sql两个表取交集_单行函数_19


2)cel();向上取整;(表中的dual为虚表为了满足sql句式而设置这么一个表)

(ceil图示)


mysql 两个sql值求交集 sql两个表取交集_字符串_20


3)floor();向下取整

(floor图示)


mysql 两个sql值求交集 sql两个表取交集_数据类型_21


4)power(x,y);x的y次幂

(power图示)


mysql 两个sql值求交集 sql两个表取交集_mysql 两个sql值求交集_22