求一個完整的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]]
顯示結果要按<;字段>;值升序或降序進行排序
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后面*表示什么什么時候用,舉個列子
假如表 Table1 有:a,b,c,d,e 五列SELECT * FROM Table1 就相當于 select a,b,c,d,e from Table1 顯示所有列的記錄.select a,b,c from table1 就只顯示 a,b,c 三列的記錄.“ * ”,把表中的所有記錄都顯示出來,這在實際開發中盡量避免,效率很低,到時候維護也比較困難. 至于你說在什么情況下使用,一般都是自己想預覽表記錄,或表結構的時候可以 SELECT * FROM TABLE。
SQL語句的SELECT語句中用于實現選擇運算的子句是什么
1、SELECT DISTINCT 列名稱 FROM 表名稱,為student表內容。
2、查詢名叫李四的學生值顯示一次,SELECT DISTINCT `name` FROM student。
3、根據age排序,SELECT DISTINCT `name` FROM student ORDER BY age。
4、根據name,age排序,從左至右優先順序,SELECT DISTINCT `name` FROM student ORDER BY `name`,age。
5、按條件查詢name為李四的學生。SELECT `name` FROM student WHERE `name`='李四'。
6、加上DISTINCT 去掉重復,SELECT DISTINCT `name` FROM student WHERE `name`='李四'。
VF中SQl語句中的select語句如何使用……
SQL語法SQL給出了簡單而又豐富的查詢語句形式,SQL的查詢命令也稱作SELECT命令,它的基本形式由SELECT-FROM-WHERE查詢塊組成,多個查詢塊可以嵌套執行。
格式: SELECT [ALL|DISTINCT][ TOP〈表達式〉 ] [〈別名〉] 〈Select表達式〉 [AS 〈列名〉 ][, [ 〈別名〉] 〈Select表達式〉 [AS 〈列名〉 ]…] FORM[〈數據庫名〉 !] 〈表名〉 [[AS]Local_Alias] [[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN[〈數據庫名〉!] 〈表名〉 [[AS]Local_Alias][ON〈聯接條件〉]] [INTO 〈查詢結果〉 |TO FILE 〈文件名〉 [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN] [PREFERENCE PreferenceName][NOCONSOLE][PLAIN][NOWAIT] [WHERE 〈聯接條件1〉 [AND 〈聯接條件2〉…][AND | OR 〈篩選條件〉…]] [GROUP BY 〈組表達式〉 ][, 〈組表達式〉 …]] [HAVING ]〈篩選條件〉 ] [UNION [ALL] 〈SELECT命令〉 ] [ORDER BY 〈關鍵字表達式〉 [ASC |DESC] [, 〈關鍵字表達式〉 [ASC |DESC]…]]說明:SELECT-SQL命令的格式包括三個基本子句:SELECT子句、FROM子句、WHERE子句,還包括操作子句:ORDER子句、GROUP子句、UNION子句以及其他一些選項。*子句SELECT子句用來指定查詢結果中的數據。
其中:ALL選項:表示選出的記錄中包括重復記錄,這時缺省值;DISTINCT則表示選出的記錄中不包括重復記錄。TOP〈表達式〉選項:表示在符合條件的記錄中,選取指定數量或百分比(〈表達式〉)記錄。
[〈別名〉]〈Select表達式〉[AS〈列名〉]選項中的別名是字段所在的表名;〈Select表達式〉,可以是字段名或字段表達式;〈列名〉用于指定輸出時使用的列標題,可以不同于字段名。〈Select表達式〉用一個*號來表示時,指定所有的字段。
*子句用于指定查詢的表與聯接類型。其中:JOIN關鍵字用于聯接其左右兩個〈表名〉所指定的表。
INNER | LEFT[OUTER] | RIGHT[OUTER] | FULL[OUTER]選項,指定兩表聯接時的聯接類型,聯接類型有4種,如表13.2所示。其中的OUTER選項,表示外部聯接,即允許滿足聯接條件的記錄,又允許不滿足聯接條件的記錄。
若省略OUTER選項,效果不變。表13.2 聯接類型——————————————————————————————————聯接類型 意義————————————————————————??Inner Join(內部聯接) 只有滿足聯接條件的記錄包含在結果中Left Outer Join(左聯接) 左表某記錄與右表所有記錄比較字段值,若有滿足聯接條件的,則產生一個真實記錄;若都有滿足,則產生一個含.NULL值的記錄直到右表所有記錄都比較完Full Jion(完全聯接) 先按右聯接比較字段值,再按左聯接比較字段值。
不列入重復記錄—————————————————————————————————————ON選項:用于指定聯接條件。INTO與TO選項:用于指定查詢結果的輸出去向,默認查詢結果顯示在瀏覽窗口中。
INTO選項中的〈查詢結果〉有3種,如表13.3所示。表13.3 查詢結果———————————————————— 目標 輸出形式————————————————————— ARRAY〈數組〉 查詢結果輸出到數組 CURSOR〈臨時表〉 查詢結果輸出到臨時表 TABLE | DBF〈表名〉 查詢結果輸出到表—————————————————————TO FILE選項:表示輸出到指定的文本文件,并取代原文件內容。
ADDITIVE選項:表示只添加新數據,不清除原文件的內容。TO PRINTER選項:表示輸出到打印機。
PROMPT選項:表示打印前先顯示打印確認框。TO SCREEN選項:表示輸出到屏幕。
PLAIN選項:表示輸出時省略字段名。NOWAIT選項:表示顯示瀏覽窗口后程序繼續往下執行。
*子句用來指定查詢的條件。其中的〈聯接條件〉指定一個字段,該字段連接FROM子句中的表。
如果查詢中包含不止一個表,就應該為第一個表后的每一個表指定連接條件。4.其他子句和選項GROUP BY子句:對記錄按〈組表達式〉值分組,常用于分組統計。
HAVING子句:當含有GROUP BY子句時,HAVING子句可用作記錄查詢的限制條件;無GROUP BY 子句時,HAVING子句的作用如同WHERE子句。UNION子句:可以用UNION子句嵌入另一個SELECT-SQL命令,使這兩個命令的查詢結果合并輸,但輸出字段的類型和寬度必須一致。
UNION子句默認組合結果中排除重復行,使用ALL,則允許包含重復行。ORDER BY子句:指定查詢結查中記錄按〈關鍵字表達式〉排序,默認升序。
選項ASC表示升序,DESE表示降序。SELECT查詢命令的使用非常靈活,用它可以構造各種各樣的查詢。
本章將通過大量的實例來介紹SELECT命令的使用方法。13.2.2 簡單查詢簡單查詢只含有基本子句,可有簡單的查詢條件。
【13.1】在zgda表中,檢索所有字段。 SELECT * FROM zgda13.2.2 簡單查詢【13.2】在zggz表中,檢索實發工資大于2000元的記錄。
SELECT 編號,姓名,實發工資 FROM zggz WHERE 實發工資>200013.2.2 簡單查詢【13.3】在zgda。
轉載請注明出處華閱文章網 » sql語句select語句