复杂SQL

答案:

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值