使用T-SQL語句操作數據表-查詢數據

查詢(select)的基本格式:
select <列名> from <表名> [where <查詢限定條件>]
解釋:
select 查詢的命令體
列名:要查詢的列,多個列用逗號,隔開 星號(*)代表所有列
where:是選填的,不填查詢的結果是整個列的數據
例子:
select 成績 from 成績表 where 姓名='張三'
含義:查詢成績表中張三的成績,只顯示張三的分數。如果不加where ,則顯示成績表中成績列所有值

在 SQL server 中,select語句的語法:
select <列名> [into 新表名] from <表名>
[where 查詢條件] [group by 分組條件] [having 查詢條件] [order by 排序條件 [asc | desc ] ]
解釋:
into:可選參數,用於把查詢內容保存到新表中,不用再數據庫中新建表。
where的查詢條件字段由條件表達式或邏輯表達式。
group by:可選參數,指定查詢結果的分組條件,通常是列名,但不能是別名。
having:可選參數,指定分組搜索條件,通常與group by字句一起使用。
order by:可選參數,指定查詢結果的排序方式。排序條件 asc表示升序,desc表示降序,默認排序是asc升序。

各種查詢例子:
1.查詢成績表中所有列。
select * from 成績表
2.查詢成績表中姓名,成績列內容。
select 姓名,成績 from 成績表
3.查詢成績表中張三的成績,結果顯示姓名和成績
select 姓名,成績 from 成績表 where 姓名='張三'
4.查詢成績表中成績在90~100之間所有人員成績。
select * from 成績表 where 成績 between 90 and 100
5.查詢成績表中成績爲80,90,95分的所有信息
select * from 成績表 where 成績 in (80,90,95)
6.查詢成績表中姓張的學生所有信息。
select * from 成績表 where 姓名 like '張%'
7.查詢成績表中1班張三的所有信息。
select * from 成績表 where 姓名='張三' and 班級=1
8.查詢成績表中備註不爲空的人的所有信息
select * from 成績表 where 備註 is not null
9.使用top關鍵字限制查詢返回的行數, 查詢成績表中前10行數據。
select top 10 * from 成績表
10.改變查詢結果名稱:查詢成績表中姓名和成績兩列數據 列名顯示成英文的name,grade
select 姓名 as name,成績 as grade from 成績表
11.查詢成績表中所有人的總成績,列名顯示爲‘總成績’。
select sum(成績) as 總成績 from 成績表
注:sum是求和函數。還可以省略as, 還可以寫成 select 總成績=sum(成績) from 成績表
12.查詢成績表中所有信息,按照成績從高到低顯示結果。
select * from 成績表 order by 成績 desc
13.查詢成績表中所有人的平均成績
select avg(成績) as 平均成績 from 成績表
注:avg是求平均值函數。
14.查詢成績表中的最高分(max)和最低分(min)
select max(成績) as 最高分,min(成績) as 最低分 from 成績表
15.查詢成績表中的所有行數。
select count(*) 總行數 from 成績表
注:count是統計函數,用於返回表達式中非空值的計數,使用*可以不必指定特定列而計算所有行數。
16.查詢成績表中每個班級的總成績。
select 班級,sum(成績) as 總成績 from 成績表 group by 班級
17.查詢成績表中總成績大於200的班級。
select 班級,sum(成績) as 總成績 from 成績表 group by 班級 having sum(成績)>200
注:where 後邊不能接函數, having 可以添加函數。
18.將成績表中的所有數據插入新表“成績表副本”
select * into 成績表副本 from 成績表
19.將成績表中的1班成績插入新表“一班成績表”
select * into 一班成績表 from 成績表 where 班級=1
注:插入的新表,之前數據庫不能存在該表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章