BETWEEN
操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
SELECT * FROM Websites WHERE alexa BETWEEN 1 AND 20;
left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
sql对查询为null的值赋默认值
后台开发中经常需要给前端提供接⼝,返回的字段为null的时候需要设置字段的默认值。
针对不同的数据库实现⽅式有:
sqlserver:
Sql代码
select isnull(字段,0) from 表名 --这样就是把空值赋值为0
MySQL:
Sql代码
select ifnull(字段,0) from 表名
oracle:
Sql代码
select nvl(字段,0) from 表名
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。
语句执⾏的顺序
select 语句执⾏顺序⼤致是:
where(数据查询) -> group by(数据编组) -> having(结果过滤) -> order by(排序)
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value;