1 查詢指定欄位
- 在 employee 表找出所有員工的姓名、性別和電子郵箱,


- SELECT 表示查詢,隨后列出需要回傳的欄位,欄位間逗號分隔
- FROM 表示要從哪個表中進行查詢
- 分號為陳述句結束符
這種查詢表中指定欄位的操作在關系運算中被稱為投影(Projection)
使用 SELECT 子句進行表示,投影是針對表進行的垂直選擇,保留需要的欄位用于生成新的表
投影操作中包含一個特殊的操作,就是查詢表中所有的欄位,
2 查詢全部欄位
- ‘*’ 表示全部欄位


資料庫在決議該陳述句時,會使用表中的欄位名進行擴展:
SELECT emp_id, emp_name, sex, dept_id, manager,
hire_date, job_id, salary, bonus, email
FROM employee;
雖然星號可以便于快速撰寫查詢陳述句,但是在實際專案中不推薦使用:
- 程式可能并不需要所有的欄位,避免回傳過多的無用資料
- 當表結構發生變化時,星號回傳的資訊也會發生改變
除了查詢表的欄位之外,SELECT 陳述句還支持擴展的投影操作,包括基于欄位的算術運算、函式和運算式等,
3 多欄位查詢
回傳員工的姓名、一年的工資(12 個月的月薪)以及電子郵箱的大寫形式:


結果中,回傳欄位的名稱不是很好理解;能不能給它指定一個更明確的標題呢?
4 別名(Alias)
為了提高查詢結果的可讀性,可以使用別名為表或者欄位指定一個臨時的名稱,SQL 中使用關鍵字 AS 指定別名,

別名中的關鍵字 AS 可以省略,

為 employee 表指定了一個表別名 e,然后為查詢的結果欄位指定了 3 個更明確的列別名(使用雙引號),在查詢中為表指定別名之后,參考表中的欄位時可以加上別名限定,例如 e.emp_name,表示要查看哪個表中的欄位,
在 SQL 陳述句中使用別名不會修改資料庫中存盤的表名或者列名,別名只在當前陳述句中生效,
5 注釋
分為單行注釋和多行注釋
- 單行注釋以兩個連字符(--)開始,直到這一行結束
- SQL 使用 C 語言風格的多行注釋(/* … */)

# 也可以用于表示單行注釋,
6 無表查詢
- 計算一個運算式的值:


用于快速查找資訊,這種語法并不屬于 SQL 標準,而是資料庫產品自己的擴展,
7 總結
SQL 不僅僅能夠查詢表中的資料,還可以回傳算術運算、函式和運算式的結果,在許多資料庫中,不包含 FROM 子句的無表查詢可以用于快速獲取資訊,另外,別名和注釋都可以讓我們撰寫的 SQL 陳述句更易閱讀和理解,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/29354.html
標籤:大數據
