對象命名的約定:數據庫名.所有者名.對象名前兩者可省略,默認值數據庫是當前數據庫,所有者是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子句指定計算
列時則會起一個名稱。