尚硅谷之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;
可以给字段或表名加着重号
如果字段名或表名与关键字一样更要加着重号了