UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
其中,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
注释:默认地,UNION 操作符选取不同的值
SQL UNION ALL 语法
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
注释:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。**
**两者区别:**UNION ALL允许重复的值,UNION会去重
concat(string a, string b) 将所有输入参数拼在一起返回字符串。如果要将int类型拼在一起,需先将int转化为string然后进行拼接。如果拼接的字符串中有一个为null,其结果为null
concat_ws(string seq, string a, string b…):第一个参数为分隔符,其余参数为需要拼接的字符串,同样拼接的字符串中有一个为null,其结果为null
group_concat(string s[,string sep]):该函数用于拼接结果集中每一行返回一个字符串。如果指定了分隔符,则最终返回的字符串将以指定的分隔符分割。
**区别:**concat()和concat_ws()用于拼接同一行中的不同列,group_concat()用于连接不同行。
instr(string str, string substr) 该函数返回字串在字符串中第一次出现的位置,返回类型为int
locate(string substr,string str[, int pos])该函数返回子串在字符串中第一次出现的位置,
**区别:**locate可以指定从某个位置之后开始匹配。
1.select
2.from
3.where
4.group by
5.having
6.order by
7.limit
1.from
2.where
3.group by
4.having
5.select
6.order by
7.limit
having和group by可使用别名