好玩的SQL

好玩的SQL,第1张

概述1. 做一个3*3的加法表SQL> select a||'+'||b||'='||(aʻ) from (select rownum a from all_obj

1. 做一个3*3的加法表

sql> select a||'+'||b=||(a+b) from (select rownum a from all_objects where rownum<4),(select rownum b 4);A||B||(A+B)------------------------------------------------------------------------------------------------------------------------1+=22334569 rows selected.

2. 做一个5*5的乘法表

with multiplIEr as (select rownum n from dual connect by rownum6)select a.n*||b.n||(a.n*b.n) from multiplIEr a,multiplIEr b

3. 不用connect by,只用dual表,构造出1到128

with a select 1 from dual union all from dual)select rownum from a,a,a

4. 池塘边上有牛和鹅若干,小华总共看到15个头42条腿,请问牛和鹅各有多少?

 dual),b  a,a)select x.n num_of_bull,y.n num_of_goose from b x,b y where x.n*4+y.n42 and x.n15

5. 百钱买鸡兔:老母鸡3块1只,小母鸡4块5只,大白兔2块1只,小白兔3块4只,要求买回来的动物总共100只,并且脚不少于240条不多于320条。花100块钱来买这些动物,要求每种动物都至少要购买一只且钱正好花完,输出所有的可能情况。

with t  t,t,t)select a.n lmj,5*b.n xmj,c.n dbt,1)">*d.n xbt from t1 a,t1 b,t1 c,t1 d where *a.n+b.n+c.n+d.n100 and a.n*b.n*d.nand (10*c.n16*d.n between 240 and 320) <>0 and b.nand c.nand d.n0;

6. 每个雇员的薪水(SAL)都对应到一个薪水级别(SALGRADE表中的GRADE字段),哪个薪水级别上的雇员数量最多?输出该薪水级别信息。本题需要用三种不同的写法作答。

第一种写法:

* from salgrade where grade=(select grade select s.grade,count(*) from emp e,salgrade s where e.sal between s.losal and s.hisal group by s.grade order by 2 desc) 1);

第二种写法:

*) num by s.grade),1)">select max(num) maxnum  t)select s.from salgrade s,t1 where s.grade=t.grade and t.num=t1.maxnum;

第三种写法:

exists (1) s =salgrade.grade);

 

总结

以上是内存溢出为你收集整理的好玩的SQL全部内容,希望文章能够帮你解决好玩的SQL所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存