SQL
SQL:
DISTINCT --> 去重复行,必须最前面
UNION -->去重
UNION ALL --> 不去重复
COALESCE -->返回第一个非空
SUM -->select id, sum(quantity) from t_a 按id计算总和
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
HAVING --> select id, sum(quantity) from t_a having sum(quantity) > 100; 总和大于100的id
EXISTS-->
select Resc_id from dbo.Res_Coach where EXISTS (select * from Res_Coach where Resc_id is null)
查询原理:
遍历dbo.Res_Coach每一条,同时处理where条件(EXISTS (select * from Res_Coach where Resc_id=0) 判断结果为true或者false),为true时拿出该条,false时,放弃该条记录.
一、select 1 from 的作用
1、select 1 from mytable 与 select anycol(目的表集合中的任意一行)from mytable、select * from mytable 作用上来说是没有差别的,都是查看是否有记录。
2、select 1 from 中的1是一常量,查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。
3、查看记录条数可以用select sum(1) from mytable;等价于select sum(*) from mytable。
4、例如,select top 1 1 from mytable 用来判断表是否有记录,如有记录则显示一个 1,没有则不显示。
select market,count(seats) from secu_path
ORA-00937: 不是单组分组函数
总结:在select需要查询的语句中选中的字段,必须出现在group by子句中
对于group by 语句,在查询出来的字段中,只能包含group by后面跟的字段以及分组函数
简单的来说 如果查询字段中有sum、count类似的聚合函数 那么其他字段必须要在group by 中出现