本文共 842 字,大约阅读时间需要 2 分钟。
参考:
SELECT * FROM 表名 [AS] 别名;
注意,为表指定别名,AS关键字可以省略不写SELECT 字段名 [AS] 别名 [,字段名 [AS] 别名,……] FROM 表名;
注意,为字段指定别名,AS关键字可以省略不写参考:
having子句与where子句一样,都是用于条件判断的。
having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录(比如表中显示的年龄大于15岁的学生,即筛选表中数据),也就是说作用在group by和having字句前。
而 having子句在聚合后对组记录进行筛选(比如计算平均分后,筛选大于80的学生,即筛选结果数据,支持聚合后数据和别名)。having能够使用统计函数,但是where不能使用
having子句中可以使用字段别名,而where不能使用
用group by和having子句联合来查出不重复的记录,sql如下:
select uid,email,count(*) as ct from `edm_user081217` GROUP BY email
然后看这个,就容易理解了
select uid,email,count(*) as ct from `edm_user081217` GROUP BY email HAVING ct > 1
先用group by 对email进行分组,在用having来过滤大于1的,这样查找出来的就是重复的记录了.
left join(左联接) 返回包括【左表中的所有记录】和【右表中联结字段相等的记录】
right join(右联接) 返回包括【右表中的所有记录】和【左表中联结字段相等的记录】
inner join(等值连接) 只返回【两个表中联结字段相等的行】
参考:
转载地址:http://gsnii.baihongyu.com/