SQLServer:《SQL必知必會》一書的讀書筆記(二)
2.1 SELECT 語句
用途:從一個或多個表中檢索數據信息
關鍵字:作為SQL組成部分的保留字。關鍵字不能用作表或列的名字。
為了使用SELECT檢索表數據,必須至少給出兩條信息:
想選擇什么,
從什么地方選擇。
2.2 檢索單個列
SELECT prod_name FROM Products; -- 分析:利用 SELECT 語句從 Products 表中檢索一個名為 prod_name 的列。 -- 所需的列名寫在 SELECT 關鍵字之后,FROM 關鍵字支出從那個表中檢索數據.
【提示】使用“;”和將語句拆分成多行可增強可讀性
【提示】SQL 語句不區(qū)分大小寫,即“SELECT”和“select”一樣;但是表名、列名和值可能有所不同。
2.3 檢索多個列
從一個表中檢索多個列,仍然使用相同的SELECT語句。唯一的不同是必須在SELECT關鍵字后給出多個列名,列名之間用逗號隔開
SELECT prod_id, prod_name, prod_price FROM Products; -- 分析:使用 SELECT 語句從表 Products 中選擇 3 列數據
2.4 檢索所有列
除了指定所需的列外,SELECT 語句還可以檢索所有的列而不必逐個列出它們。在實際列名的位置使用星號(*)通配符可以做到
SELECT * FROM Products -- 分析:如果給定一個通配符(*),則返回表中所有的列。列的順序一般是列在表定義中出現的物理順序。
【注意】除非確實需要表中的每一列,否則***別使用*通配符。檢索不需要的列通常會降低檢索和應用程序的性能。
2.5 檢索不同的值
SELECT 語句返回所有匹配的行,但是我們并不希望每個值每次都出現,這該怎么辦?
假如,你想檢索 products 表中所有產品供應商的 id
SELECT vend_id FROM Products
發(fā)現存在重復值,怎么解決呢?方法就是使用 DISTINCT 關鍵字
SELECT DISTINCT vend_id FROM Products -- 分析:SELECT DISTINCT vend_id 告訴 DBMS 只返回(具有唯一性)的 vend_id 行。如果使用 DISTINCT 關鍵字,必須直接放在列名前面。
【注意】DISTINCT 關鍵字作用于所有列,除非指定兩列完全相同,否則所有的行都會被檢索出來
2.6 限制結果
SELECT 語句返回指定表中所有匹配的行。如果我們只想返回***行或者一定數量的行,該怎么辦呢?
-- 使用 TOP 關鍵字
SELECT TOP 5 prod_name FROM Products -- 分析:使用 SELECT TOP 5 語句,只檢索前 5 行數據
2.7 使用注釋
行內注釋:使用“--”
SELECT * --行內注釋 FROM Products;
多行注釋:使用“/* */”
- /*
- 多行注釋
- SELECT *
- FROM Products;
- */