1、做一个3X3的加法表
SELECT A || '+' || B ||'=' || (A + B)
FROM (SELECTROWNUM AFROM ALL_OBJECTSWHERE ROWNUM <=3),
(SELECT ROWNUM BFROM ALL_OBJECTSWHEREROWNUM <= 3);
2、构造出1到128
WITH A AS
(SELECT 1
FROM DUAL
UNION ALL
SELECT 1 FROM DUAL)
SELECT ROWNUM FROM A, A, A, A, A, A, A;
3、做一个5X5的乘法表
WITH MULTIPLIER AS
(SELECT ROWNUM NFROM DUALCONNECTBYROWNUM <6)
SELECT A.N || '*' || B.N ||'=' || (A.N * B.N)
FROM MULTIPLIER A, MULTIPLIER B;
4、池塘边上有牛和鹅若干,小华总共看到15个头42条腿,请问牛和鹅各有多少?
WITH A AS
(SELECT 1
FROM DUAL
UNION ALL
SELECT 1 FROM DUAL),
B AS
(SELECT ROWNUM N FROM A, A, A, A) --构造出6条记录代表到6
SELECT X.N NUM_OF_BULL, Y.N NUM_OF_GOOSE
FROM B X, B Y
WHERE X.N * 4 + Y.N *2 =42
AND X.N + Y.N = 15;
5、百钱买鸡兔:老母鸡3块1只,小母鸡4块5只,大白兔2块1只,小白兔3块4只,要求买回来的动物总共100只,并且脚不少于240条不多于320条。花100块钱来买这些动物,要求每种动物都至少要购买一只且钱正好花完,输出所有的可能情况,并依次按老母鸡、小母鸡、大白兔、小白兔的数量顺序排序。(要求在7秒之内出结果)
WITH LMJ AS
(SELECT ROWNUM LMJ FROM ALL_OBJECTS WHERE ROWNUM <= 95),
XMJ AS
(SELECT LMJ XMJ FROM LMJ WHERE MOD(LMJ, 5) = 0),
DBT AS
(SELECT LMJ DBT FROM LMJ),
XBT AS
(SELECT LMJ XBT FROM LMJ WHERE MOD(LMJ, 4) = 0)
SELECT LMJ, XMJ, DBT, XBT
FROM LMJ, XMJ, DBT, XBT
WHERE LMJ + XMJ + DBT + XBT = 100
AND LMJ <= (100 - 12) / 3
AND DBT <= (100 - 10) / 2
AND ((LMJ + XMJ) * 2 + (DBT + XBT) * 4) BETWEEN 240 AND 320
AND LMJ * 3 + XMJ * (4 / 5) + DBT * 2 + XBT * (3 / 4) = 100
ORDER BY LMJ, XMJ, DBT, XBT;