尚硅谷之MySQL基礎
9.4查詢
1、語法
SELECT 查詢列表 ??FROM 表名或視圖列表 ??【WHERE 條件表達式】 ??【GROUP BY 字段名 【HAVING 條件表達式】】 ??【ORDER BY 字段 【ASC|DESC】】 ??【LIMIT m,n】; |
例如:
#查詢表中的所有行所有列 #使用*表示,查詢所有字段,即查詢所有行 select * from t_stu; #查詢部分字段,查詢部分列 select sname,major from t_stu; #查詢所有列,部分行 select * from t_stu where major = 'JavaEE'; #查詢部分行,部分列 select sname,major from t_stu where major = 'JavaEE'; |
說明:
- 如果SELECT后面是*,那么表示查詢所有字段
- SELECT后面的查詢列表,可以是表中的字段,常量值,表達式,函數
- 查詢的結果是一個虛擬的表
- select語句,可以包含5種子句:依次是where、 group by、having、 order by、limit必須照這個順序。
2、別名AS
語法:AS 別名
說明:
(1)可以給字段取別名、可以給表名取別名
(2)AS 可以省略
(3)如果給字段取別名,如果別名中包含特殊符號,例如“空格”等,建議給別名加上雙引號或單引號
(4)如果是給表名取別名,那么不能加雙引號或單引號,也不能有特殊符號,例如“空格”等
(5)建議別名簡短,見名知意
示例:
?UPDATE t_department AS d,t_employee AS e SET d.manager_id =e.eid WHERE d.dname = '教學部' ?AND d.did = e.`dept_id` ?AND e.ename = '孫紅雷'; |
#查詢員工姓名以及手機號碼 SELECT ename AS '員工姓名',tel AS '手機號碼' FROM t_employee; |
3、去重DISTINCT
#查詢員工表的部門編號 SELECT DISTINCT dept_id FROM t_employee; #統計員工表中員工有幾個部門 SELECT COUNT(DISTINCT dept_id) FROM t_employee; ? |
4、`著重號`
例如:select `name` from t_stu;
可以給字段或表名加著重號
如果字段名或表名與關鍵字一樣更要加著重號了