Mysql -第四天
1:使用DQL操作数据库
1:查询所有员工的工资和部门信息,并且按照工资进行降序排列
2:查看所有员工的个人信息和年薪,按照年薪进行降序排列
2:limit
1:查询所有工资最高的5个的信息
2:查看谁的工资最低
3:查看公司中工资在6-10位的分别是哪些人
3:子查询
在查询语句中的WHERE条件子句中,又嵌套了另外一个查询语句;主查询的where子句使用子查询返回的结果作为条件
如果子查询的结果是单一的一个值,可以使用比较运算符(=、>、>=、<、<=、<>、!=)。
如果子查询的结果返回的是一个集合,一般会使用:in 或者 not in
语法:
SELECT * FROM tableName WHERE colnum > (SELECT AVG(amount) FROM tableName);
SELECT * FROM tableName WHERE colnum NOT IN (SELECT DISTINCT colnum FROM tableName);
如:求员工中工资最高的那个人的信息
总结:如果一个查询需求,可以使用连接查询的,也可以使用子查询得到,则通常推荐使用连接查询,效率会更高,这也是数据库语句优化的一种方式
4:mysql函数
5:分组查询
在 MySQL SELECT 语句中,允许使用 GROUP BY 子句,将结果集中的数据行根据选择列的值进行逻辑分组,
以便能汇总表内容的子集,实现对每个组而不是对整个结果集进行整合。
语法:
GROUP BY 属性名(列) [HAVING 条件表达式]
属性名:是指按照该字段的值进行分组。
HAVING 条件表达式:用来限制分组后的显示,符合条件表达式的结果将被显示。