1.SQL查询语句中的 limit 与 offset 的区别:
-
limit y
分句表示: 读取 y 条数据 -
limit x, y
分句表示: 跳过 x 条数据,读取 y 条数据 -
limit y offset x
分句表示: 跳过 x 条数据,读取 y 条数据
2.distinct
select * from employees where hire_date = (
select distinct hire_date from employees order by hire_date desc limit 1 offset 2);
/*在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。*/
3.inner join
inner join=join,拼接的时候,左边有,右边拼接的数据有null,这条数据就不显示。left join,null也会显示。
4.例:查找薪水变动超过15次的员工号emp_no以及其对应的变动次数,
SELECT emp_no, COUNT(emp_no) AS t FROM salaries GROUP BY emp_no HAVING t > 15;
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
聚合函数是针对结果集进行查询的,根据sql语句的执行顺序,所以where和聚合函数无法一起用,所以增加having。