SQLServer 經常使用語句(按功效分)。本站提示廣大學習愛好者:(SQLServer 經常使用語句(按功效分))文章只能為提供參考,不一定能成為您想要的結果。以下是SQLServer 經常使用語句(按功效分)正文
1、 簡略查詢
簡略的Transact-SQL查詢只包含選擇列表、FROM子句和WHERE子句。它們分離解釋所查詢列、查詢的
表或視圖、和搜刮前提等。例如,上面的語句查詢testtable表中姓名為“張三”的nickname字段和email字段。
SELECT nickname,email
FROM testtable
WHERE name='張三'
(一) 選擇列表
選擇列表(select_list)指出所查詢列,它可所以一組列名列表、星號、表達式、變量(包含部分變量和全局變量)等組成。
1、選擇一切列
例如,上面語句顯示testtable表中一切列的數據:
SELECT *
FROM testtable
2、選擇部門列並指定它們的顯示順序查詢成果聚集中數據的分列次序與選擇列表中所指定的列名分列次序雷同。
例如:
SELECT nickname,email
FROM testtable
3、更改列題目
在選擇列表中,可從新指定列題目。界說格局為:
列題目=列名
列名 列題目假如指定的列題目不是尺度的標識符格局時,應應用引號定界符,例如,以下語句應用漢字顯示列題目:
SELECT 昵稱=nickname,電子郵件=email
FROM testtable
4、刪除反復行
SELECT語句中應用ALL或DISTINCT選項來顯示表中相符前提的一切行或刪除個中反復的數據行,默許
為ALL。應用DISTINCT選項時,關於一切反復的數據行在SELECT前往的成果聚集中只保存一行。
5、限制前往的行數
應用TOP n [PERCENT]選項限制前往的數據行數,TOP n解釋前往n行,而TOP n PERCENT時,解釋n是
表現一百分數,指定前往的行數等於總行數的百分之幾。
例如:
SELECT TOP 2 *
FROM testtable
SELECT TOP 20 PERCENT *
FROM testtable
(二)FROM子句
FROM子句指定SELECT語句查詢及與查詢相干的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。在FROM子句同時指定多個表或視圖時,假如選擇列表中存在同名列,這時候應應用對象名限制這些列
所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應
應用上面語句格局加以限制:
SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
在FROM子句中可用以下兩種格局為表或視圖指定別號:
表名 as 別號
表名 別號
(二) FROM子句
FROM子句指定SELECT語句查詢及與查詢相干的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。在FROM子句同時指定多個表或視圖時,假如選擇列表中存在同名列,這時候應應用對象名限制這些列
所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應應用上面語句格局加以限制:
SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid
在FROM子句中可用以下兩種格局為表或視圖指定別號:
表名 as 別號
表名 別號
例如下面語句可用表的別號格局表現為:
SELECT username,b.cityid
FROM usertable a,citytable b
WHERE a.cityid=b.cityid
SELECT不只能從表或視圖中檢索數據,它還可以或許從其它查詢語句所前往的成果聚集中查詢數據。
例如:
SELECT a.au_fname+a.au_lname
FROM authors a,titleauthor ta
(SELECT title_id,title
FROM titles
WHERE ytd_sales>10000
) AS t
WHERE a.au_id=ta.au_id
AND ta.title_id=t.title_id
此例中,將SELECT前往的成果聚集賜與一別號t,然後再從中檢索數據。
(三) 應用WHERE子句設置查詢前提
WHERE子句設置查詢前提,過濾失落不須要的數據行。例以下面語句查詢年紀年夜於20的數據:
SELECT *
FROM usertable
WHERE age>20
WHERE子句可包含各類前提運算符:
比擬運算符(年夜小比擬):>、>=、=、<、<=、<>、!>、!<
規模運算符(表達式值能否在指定的規模):BETWEEN…AND…
NOT BETWEEN…AND…
列表運算符(斷定表達式能否為列表中的指定項):IN (項1,項2……)
NOT IN (項1,項2……)
形式婚配符(斷定值能否與指定的字符通配格局符合):LIKE、NOT LIKE
空值斷定符(斷定表達式能否為空):IS NULL、NOT IS NULL
邏輯運算符(用於多前提的邏輯銜接):NOT、AND、OR
1、規模運算符例:age BETWEEN 10 AND 30相當於age>=10 AND age<=30
2、列表運算符例:country IN ('Germany','China')
3、形式婚配符例:經常使用於隱約查找,它斷定列值能否與指定的字符串格局相婚配。可用於char、
varchar、text、ntext、datetime和smalldatetime等類型查詢。
可以使用以下通配字符:
百分號%:可婚配隨意率性類型和長度的字符,假如是中文,請應用兩個 。