求一個完整的SQL的select語句
SELECT [ ALL | DISTICT ] <;字段表達式1[,<;字段表達式2[,…]
FROM <;表名1>,<;表名2>;[,…]
[WHERE <;篩選擇條件表達式>]
[GROUP BY <;分組表達式> [HAVING<;分組條件表達式>]]
[ORDER BY <;字段>[ASC | DESC]]
語句說明:
[]方括號為可選項
[GROUP BY <;分組表達式> [HAVING<;分組條件表達式>]]
指將結果按<;分組表達式>;的值進行分組,該值相等的記錄為一組,帶【HAVING】
短語則只有滿足指定條件的組才會輸出。
[ORDER BY <;字段>[ASC | DESC]]
顯示結果要按<;字段>;值升序或降序進行排序
什么是Select語句
1、最基本的Select語句: Select [Top n [With Ties]] From Order by [, 。
n] 1)*(星號)表示所有列,在選擇特定列時可以在結果集中更改顯示的列名 Select * from Products Select ProductID,ProductName,CategoryID,UnitPrice From Products Select ProductID As ID,ProductName As Name,CategoryID,UnitPrice As Price From Products 2)在結果集中可以使用表達式計算列 Select ProductID,ProductName,CategoryID,UnitPrice, OutPrice=UnitPrice*1。 2 From Products 3)Order by對結果集中的列進行排序,如果倒序,加DESC,如果是多列,選按第一列排序,如果第一列相同,按第二列排序,依此類推 Select ProductID,ProductName,CategoryID,UnitPrice From Products Order by CategoryID,Unitprice Desc 4)Top n:顯示結果集中的前n行,使用Top n時可以不存在Order by;Top n With Ties:如果第n行后存在與第n行相等的值,則也顯示這些行,使用Top n With Ties時,一定要有Order by。
Select Top 12 ProductID,ProductName,CategoryID,UnitPrice From Products Select Top 12 With Ties ProductID,ProductName,CategoryID,UnitPrice From Products Order By UnitPrice 2、where條件子句: 使用where時后接條件表達式,條件表達式可以是: 1)使用比較操作符連接的條件 2)使用邏輯操作符連接的條件 3)使用Between。 。
。and連接的條件: where c betweeb v1 and v2相當于where c>=v1 and c進行分類匯總 Select sum(UnitPrice) as [SUM] From Products Select CategoryID, sum(UnitPrice) as [SUM] From Products group by CategoryID 2)查詢的列必須是在Group By中出現的類 3)必須按條件語句(where)、分類匯總語句(group by)、排序語句(order by)的順序查詢。
系統也將按照條件語句(where)、分類匯總語句(group by)、排序語句(order by)的順序執行。 Select CategoryID,sum(UnitPrice) as [SUM] From Products Where ProductID@sum Select * from Where UnitPrice>(Select sum(UnitPrice) from Products) 2)做為多值使用:要求查詢的結果為單列,與In操作符搭配使用。
Select p。* from Products p join Categories c on p。
CategoryID=c。CategoryID where CategoryName like 'c%' Select * from Products where CategoryID in (Select CategoryID from Categories where CategoryName like 'c%') 3)做為結果集(也可以簡單地理解為一個“表”)使用。
Select ProductID,ProductName,UnitPrice from ( Select ProductID,ProductName,UnitPrice Row_Number() over(order by UnitPrice) as RowNumber From Prodcuts ) as t where RowNumber between 41 and 50。
簡述SQL語言中SELECT語句的基本結構
Select 查詢語句
語法:SELECT [ALL|DISTINCT] <;目標列表達式> [AS 列名]
[,<;目標列表達式> [AS 列名] 。] FROM <;表名> [,<;表名>;…]
[WHERE <;條件表達式> [AND|OR <;條件表達式>。]
[GROUP BY 列名 [HAVING <;條件表達式>>
[ORDER BY 列名 [ASC | DESC>
解釋:[ALL|DISTINCT] ALL:全部; DISTINCT:不包括重復行
<;目標列表達式>; 對字段可使用AVG、COUNT、SUM、MIN、MAX、運算符等
<;條件表達式>
查詢條件 謂詞
比較 =、>,<,>=,<=,!=,<>,
確定范圍 BETWEEN AND、NOT BETWEEN AND
確定集合 IN、NOT IN
字符匹配 LIKE(“%”匹配任何長度,“_”匹配一個字符)、NOT LIKE
空值 IS NULL、IS NOT NULL
子查詢 ANY、ALL、EXISTS
集合查詢 UNION(并)、INTERSECT(交)、MINUS(差)
多重條件 AND、OR、NOT
<GROUP BY 列名>; 對查詢結果分組
[HAVING <;條件表達式>;] 分組篩選條件
[ORDER BY 列名 [ASC | DESC>; 對查詢結果排序;ASC:升序 DESC:降序
例1: select * as 學號, * as 姓名, course as 課程名, score as 成績 from score,student where *=* and *=:sid
例2:select * as 學號, * as 姓名,AVG(score) as 平均分 from score,student where *=* and *=:class and (term=5 or term=6) group by *, * having count(*)>0 order by 平均分 DESC
例3:select * from score where sid like '9634'
例4:select * from student where class in (select class from student where name='楊全')
誰知道SQL中,SELECT語句的完整格式
【基本格式】
SELECT [ ALL | DISTICT ] ,[,…]
[WHERE ]
[GROUP BY [HAVING]]
[ORDER BY [ASC | DESC]]
語句說明:
[]方括號為可選項
[GROUP BY [HAVING]]
指將結果按的值進行分組,該值相等的記錄為一組,帶【HAVING】
短語則只有滿足指定條件的組才會輸出。
[ORDER BY [ASC | DESC]]
顯示結果要按值升序或降序進行排序
SQL中SELECT語句的執行順序是什么
標準的 SQL 的解析順序為: (1)。
FROM 子句, 組裝來自不同數據源的數據 (2)。WHERE 子句, 基于指定的條件對記錄進行篩選 (3)。
GROUP BY 子句, 將數據劃分為多個分組 (4)。使用聚合函數進行計算 (5)。
使用 HAVING 子句篩選分組 (6)。計算所有的表達式 (7)。
使用 ORDER BY 對結果集進行排序 舉例說明: 在學生成績表中 (暫記為 tb_Grade), 把 "考生姓名"內容不為空的記錄按照 "考生姓名" 分組, 并且篩選分組結果, 選出 "總成績" 大于 600 分的。 標準順序的 SQL 語句為: select 考生姓名, max(總成績) as max總成績 from tb_Grade where 考生姓名 is not null group by 考生姓名 having max(總成績) > 600 order by max總成績 在上面的示例中 SQL 語句的執行順序如下: (1)。
首先執行 FROM 子句, 從 tb_Grade 表組裝數據源的數據 (2)。 執行 WHERE 子句, 篩選 tb_Grade 表中所有數據不為 NULL 的數據 (3)。
執行 GROUP BY 子句, 把 tb_Grade 表按 "學生姓名" 列進行分組 (4)。 計算 max() 聚集函數, 按 "總成績" 求出總成績中最大的一些數值 (5)。
執行 HAVING 子句, 篩選課程的總成績大于 600 分的。 (7)。
執行 ORDER BY 子句, 把最后的結果按 "Max 成績" 進行排序。
轉載請注明出處華閱文章網 » sql的select語句