答案:
select a.* from (select count(*) num, bumenid from TA where xinsui >1000 and 部门=开发 or 维护 group by bumenid )a where a.num > 10
num是虚拟出来的,实际上没有那个列
答案:
(1) select top 5 from emp order by sal
(2) select user_id,user_name,age,sal,deptno from emp where sal>( select avg(sal) form emp)
(3) SELECT e1.`name`, COUNT(1) FROM USER e1 GROUP BY e1.`name` HAVING COUNT(1) > 1
(4) SELECT e.* FROM USER e WHERE e.name IN (SELECT e1.`name` FROM USER e1 GROUP BY e1.`name` HAVING COUNT(1) > 1) ORDER BY NAME
====================================华丽的分割线=====================================================================
以下内容是《SQL基础教程(第3版)》的体会:
1.内连接 inner join 2张表 其中有一行满足 返回行的内连接
2.外连接 outer join 返回其中一张表的所有行=================》和内连接刚好是反过来说
3.自连接 用的依旧是inner join
=======集合操作:
1.union 去重复 目的是将两个 SQL 语句的结果合并起来一起显示,并不是联结两个表 (不去重复 union all)
union同时也是C语言中的公用体
2.intersect 只返回相同的行 和union刚好相反
重点:mysql不支持intersect
3.except 查找不同行 mysql同样不支持
==================================
生僻的: exists
order by [ASC | DESC] ascend | descend 不明写的情况下默认使用ASC