尚硅谷之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;

可以给字段或表名加着重号

如果字段名或表名与关键字一样更要加着重号了