-
物件命名的約定:資料庫名稱.擁有者名稱.物件名稱前兩者可省略,預設值資料庫是目前資料庫,擁有者是dbo
別名:資料庫名稱as 資料庫表名主要是增加select語句的可讀性,如果已經為資料表制定了別名,則
在對應的SQL語句中,對該資料表的所有顯示引用都要使用別名,而不能使用資料表名。
select語句是資料檢索中最頻繁的活動,再檢索前要先知道儲存在哪裡,select語句可以由多個查詢子語句組成,而且可以嵌套。
select語句可以檢索:全部行列,全部行和特定列,限定範圍的行,與一組值匹配的行,根據未知值檢索
的行,隱藏重複值的行,根據所個搜尋條件檢索的行。
基本架構:SELECT [ALL|DISTINCT]select_list
[INTO [new_table_name]]
FROM{table_name|view_name,...}
[WHERE search_conditons]
[GROUP BY group_by_list]
[HAVING search_conditions]
[ORDER BY order_list [asc|desc]]
WHERE和HAVING的區別是WHERE是對整個表格進行選擇,而HAVING則是將分組當中的元素進行選擇。
select子句
SELECT [ALL|DISTINCT] [TOP N] select_list
select_list既可表示欄位名稱,也可以是其他表達式。
all指定在結果集中可以顯示重複行,distinct不顯示相同行,TOP n [PERCENT]指定只從查詢結果集中輸出前n 行。 n 是介於0 和4294967295 之間的整數。如果也指定了PERCENT,則只從結果集中輸出前百分之n 行。當指定時帶PERCENT 時,n 必須是介於0 和100 之間的整數。
例子:
USE NORTHWIND
SELECT PRODUCTID,ORDERID,UnitPrice*Quantity AS SUM
INTO KKKKKK
FROM [Order Details]
WHERE UnitPrice*Quantity>10000;
AS 子句可用來變更結果集列名或為匯出列指定名稱。如此例,sum更清楚所表示的內容,否則,這個算術
式會由系統指定名稱。所以在該語句當中where後面的UnitPrice*Quantity不能寫成sum,因為sum是結果
集當中使用的名稱,在搜尋條件中還沒有被指定。
而這個範例中的表order details包含關鍵字order,所以不能直接用,要加[]。
INTO子句用來把結果集存放在新表當中,select into不能和compute子句一起使用,select子句指定計算
列時則會取一個名稱。