龙空技术网

SQL第15课~union 用关键字和行进行查询

鸡毛蒜皮研究所 210

前言:

目前你们对“sql第二个字为某一个字”大体比较着重,咱们都需要分析一些“sql第二个字为某一个字”的相关资讯。那么小编同时在网络上汇集了一些关于“sql第二个字为某一个字””的相关知识,希望姐妹们能喜欢,各位老铁们一起来了解一下吧!

所有内容收录在合集~SQL入门到熟练。

从10到14课,我们学了连接的知识点,内连接,外连接,多表连接,交叉连接,自连接。

这些都是结合不同表的列,一个表格不仅有列,还有行

用SQL尝试结合不同的行,功能很强大。

还是用顾客表,可以看到订单的时间

假如想根据时间来给用户打标签,8月之前是非活跃用户,8月之后的是活跃用户

我们可以这样写,然后设置条件,筛选掉一些不同的,增加一个活跃的列

然后接着,之前的用户,想让他们显示不活跃用户,设置第二个条件,用分号进行分隔。

得出了根据不同的时间分的标签。

现在使用union运算符,在选择语句中间加入UNION,去掉上面的分号,直接合并的查询结果。这是在同一个表格的情况,下面是在不同表格的情况,也可以查询哦。

比如可以查出不同表格中所有的名字。

这个地方要注意的是查询的时候选择一列,合并的也是一列,如果第一个select选择了2项,第二个选择了1项,就会报错。

第一段内容,即第一个select写的内容决定列名,你也可以自己命名,用AS进行命名即可。

再举一个例子

有一个成绩表,假设表名为students,姓名为names,分数为points,按照成绩小于60为c,60到80为B,80到100为A,原本没有分类,现在按照成绩分A,B,C,书写一个查询。

select names,points,'C' AS 分类

from students

where points<60

union

select names,points,'B' AS 分类

from students

where points between 60 and 80

union

select names,points,'A' AS 分类

from students

where points>80

补充一点,between这个运算符,是包含临界值的,也就是说60和80 都会计算在内,不用去输入=了。

标签: #sql第二个字为某一个字