联合
- union和union all
连接俩个sql语句的结果
union语法:如果表二中查出的数据与表一中的数据重复则去重
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
union all语法:表一与表二中的数据全连接
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2; - minus
minus函数也是应用在俩个sql上的,取出二者的交集
minus语法
[SQL 语句 1]
MINUS
[SQL 语句 2]; - INSERSECT
insersect是oracle的语法,取出俩个sql语句的交集
insersect语法
[SQL语句 1]
INTERSECT
[SQL语句 2] -
replace
replace():替换某一字段中的某些参数
例如:将address字段里的 “区” 替换为 “呕” 显示,如下
select *,replace(address,'区','呕') AS rep
5. regexp_extract(hive)
语法:` regexp_extract(string subject, string pattern, int index)
参数说明:
第一参数: 要处理的字段
第二参数: 需要匹配的正则表达式
第三个参数:
0是显示与之匹配的整个字符串
1 是显示第一个括号里面的
2 是显示第二个括号里面的字段…`
6. concat函数
含义:将多个字符串连接成一个字符串。
语法:
select concat (id, name) as info from t1;
mysql> select * from t1;
+-------+-------+
| id | name |
+-------+-------+
| 10001 | 沙 |
| 10001 | 石 |
| 10001 | 煤 |
| 10002 | 水 |
| 10002 | 盐 |
| 10002 | 盐 |
| 10002 | 盐2 |
+-------+-------+
+-------+------------------------+
| info
+-------+------------------------+
| 10001沙 |
| 10001石 |
| 10001煤 |
| 10002水 |
| 10002盐 |
| 10002盐 |
| 10002盐2 |
+-------+------------------------+
'||'双竖线也是连接操作,用于连接俩个字符串,与上边的concat 相同