龙空技术网

SQL server查询-扩展查询

终究要生活 332

前言:

目前小伙伴们对“sql返回数据条数”大概比较关切,你们都想要学习一些“sql返回数据条数”的相关内容。那么小编同时在网络上收集了一些对于“sql返回数据条数””的相关知识,希望咱们能喜欢,我们快快来学习一下吧!

SQL server查询扩展与视图操作

一、将查询到的内容添加到其它表中

①、INSERT INTO SELECT语句

语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。*注意的是字段数和数据类型要兼容

②、SELECT INTO FROM语句

语句形式为:SELECT vale1, value2 into Table2 from Table1

要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2

二、只查询前面的数据

①、语句形式为:select top 1 * from table;

要求查询中只查询第一条数据可在select后面添加top 1即可,查询多条数据时修改top后面的数字

②、语句形式为:select top 40 percent * from table;

查询table中的前百分之40的数据

三、替换查询结果-将1替换为男,2替换为女,其余的为未知

语句形式为:

第一种写法:select (case 字段 when ‘1’ then ‘男’ when ‘2’ then ’女’ else ‘未知’ end) as 自定义字段名 from 表;

第二种写法select (case when 字段=‘1’ then ‘男’ when 字段=‘2’ then ’女’ else ‘未知’ end) as 自定义字段名 from 表;

四、查询出来的字段中有子查询的字段数据

语句形式为:

select '自定义字段名'=(select top 1 字段 from 表1 where tjbh=2105170054),字段 from 表2;

五、将查询出来的重复数据去除掉(完全相同数控情况下)

语句形式为:select distinct * from 表;

*通过关键字Distinct将查询出来的数据去除重复的内容

六、修改查询出来的字段属性

cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式

cast一般更容易使用,convert的优点是可以格式化日期和数值.

①、cast 语句

语句形式为:select cast(字段 as int) as 自定义字段名 from table1

查询table1的字段内容并且将数据类型转换为int类型显现出来,重新附一个别名

②、Convert 语句

⑴语句形式为:select convert(int,字段) as 自定义字段名 from table2

查询table1的字段内容并且将数据类型转换为int类型显现出来,重新附一个别名

⑵语句形式为:select convert(char(10),getdate(),102)

获取当前日期,并且格式为yy.mm.dd(最多占10个字节)

第三参数如下:

日期类型 格式

100 03 19 2008 4:45PM

101 03/19/2008

102 2008.03.19

103 19/03/2008

104 19.03.2008

105 19-03-2008

106 19 03 2008

107 03 19, 2008

108 16:45:00

109 03 19 2008 4:45:00:

110 03-19-2008

111 2008/03/19

112 20080319

113 19 03 2008 16:45:00:

114 16:45:00:000

七、根据出身日期得出准确的年龄

语句形式为:select floor(datediff(dy,出身日期字段,getdate())/365.25) from table1

使用floor函数-以时间差除以365.25得到准确的年龄

八、将字段包含指定的数据都替换为指定的值

语句形式为:select replace(age,20,18) as age from table;

使用replace函数,查询table中的age字段里面出现的20都替换为18

--不支持text数据类型

九、将两个字段进行比较,相同就返回null,不同则返回字段1

语句形式为:select nullif(字段1,字段2) from table1

使用nullif函数,函数内两字段数据一样返回null,不同则取字段1

十、查询字段的数据是null,则替换为指定的数据

语句形式为: select isnull(字段,替换的值) from table1;

使用isnull函数,字段为null,则替换为指定的数据

十一、给字段一个别名(两种写法)

语句形式为:

①select 字段 as 别名,... form 表名

②select 别名=字段 from 表名

--as 可以省略,别名不能直接为数值,如1、2、3这种。别名不区分单引号和双引号,当然也可以省略!

十二、添加常量

语句形式为:select 常量 as 别名,... from 表名;

--as可以省略,常量不能直接是英文,如果是英文那就是字段名了。需添加英文这种常量,请添加单引号

--在这里的常量可以理解为:非表中查询到的数据,而是自己赋的数据

--只要给予常量,常量的条数和整条sql查询出来的条数对应

十三、将两个或者多个字段拼接(两种方法)

①直接使用 ‘+’符号拼接

语句形式为:select 字段1+字段2+字段3... from 表名

②concat函数拼接

语句形式为:select concat(字段1,字段2,字段3,...) from 表名

有时候需要将多个字段内容拼接为一列数据,就可以使用以上两种方法,当然最好给个别名

标签: #sql返回数据条数