SQL Server常用的函數總結1

SQL Server常用的函數總結1

Top、Distinct函數

Top函數:

使用Top函數,可以只返回結果集的前N條記錄【N可以是數值,百分數等】。

注意:記錄顯示的值是進1制而不是四捨五入。

select top 10 * from Teacher --前10條記錄
select top 10 percent * from Teacher --前10%條記錄,此時記錄顯示的值是進1制而不是四捨五入
SQL Server常用的函數總結1

Distinct函數:

distinct函數主要用於去除重複值,他的作用與原始記錄表的數據無關,只與當前的結果集有關係,處理查詢出來的結果集。

select Name ,Age from Teacher
select distinct Name,Age from Teacher
SQL Server常用的函數總結1


NULL空值處理:

NULL:表示不知道,而不只是表示空值。

例如:查詢沒有工資的老師信息。

use TestSchool
select * from Teacher where Salary is not null
SQL Server常用的函數總結1

isNull: 如果發現對應的值是Null值,則以指定的字符串文本進行替換

select Name ,Age ,ISNULL(Salary ,NULL) from Teacher
SQL Server常用的函數總結1


union函數--集合運算符

union(聯合):用來聯合多個結果集的,叫做集合運算符。

注意:

1、要求聯合的的多個結果集有相同的數量的字段

2、要求聯合的多個結果集對應的列的數據類型一致(可以相互轉換)

select count(*) from Teacher where Gender = 'False'
union all
select count(*) from Teacher where Gender = 'True'
SQL Server常用的函數總結1

union 和union all 的區別:

union 默認是去除重複值的,效率低,是因為需要為你做是否重複的判斷

union all --不去除重複項

注意:

使用union all一次性插入多條記錄

insert into Classes
select 1,023班 union
select 4,026班 union all
select 5 ,027班 union
select 5,027班

注意:只要有 union 聯合時,去除插入記錄重複值。

insert into Classes
select 1,023班 union all
select 4,026班 union all
select 5 ,027班 union all
select 5,027班

注意:只有全部都用 union all 聯合時,不去除重複值。

select into from:

可以將from數據源表中的select指定的列的數據 into到新表中,新表是系統自動生成的,不能先人為創建,也就不能先存在。新表中,列的屬性只保留標識列,其餘均消失

select * into newtable From Classes
insert into newtable select Cid,CName from Classes
SQL Server常用的函數總結1


分享到:


相關文章: