1、写出创建表的语法结构
CREATE TABLE 表名( 字段名 类型, 字段名 类型, …… )CREATE TABLE 表名A AS (数据集)
2、写出创建存储过程的语法结构
CREATE [OR REPLACE] PROCEDURE 过程名(参数1 [IN|OUT|IN OUT] 数据类型,参数2 [IN|OUT|IN OUT] 数据类型……)IS|AS…… ……BEGIN…… ……EXCEPTION ………… ……END;
3、写出创建视图的语法结构
CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_nameAS(SELECT 查询)[WITH READ ONLY CONSTRAINT]
4、JOIN、LEFT JOIN、RIGHT JOIN 的区别
…………A[LEFT|RIGHT] JOINBON…………JOIN 即 INNER JOIN , 只保留 A 与 B 完全匹配的结果集LEFT JOIN , 保留 A 的所有记录 , 仅保留 B 能匹配上的记录(匹配不上的记录为空)RIGHT JOIN , 保留 B 的所有记录 , 仅保留 A 能匹配上的记录(匹配不上的记录为空)
5、Union 和 Union All 的区别
Union 和 Union All 均为对 “数据集” 采用 “并集” 的操作Union 会对数据进行去重Union All 则为不去重
二、实践题
有下面三个关系表:
CARD:借书卡,
CNO 卡号,
NAME 姓名,
CLASS 班级
BOOKS:图书,
BNO 书号,
BNAME 书名,
AUTHOR作者,
PRICE 单价,
QUANTITY 库存册数
BORROW:借书记录,
CNO 书卡号,
BNO 书号,
RDATE 还书日期
备注:限定每人每种书只能借一本;库存册数随借书、还书而改
1、找出借书超过5本的读者,输出借书卡号及所借图书册数。
SELECT CNO, CNTFROM ( SELECT CNO,COUNT(1) CNT FROM BORROW GROUP BY CNO )WHERE CNT>5 ;
2、查询借阅了“水浒”—书的读者,输出姓名及班级。
SELECT NAME, CLASSFROM CARDWHERE CNO = (SELECT CNO FROM BORROW WHERE BNO = (SELECT BNO FROM BOOK WHERE BNAME = '水浒')) ;
3、查询过期未还图书,输出借阅者(卡号)、书号及还书日期。
SELECT CNO, BNO, RDATEFROM BORROWWHERE SYSDATE < RDATE ;
4、查询现有图书中价格最高的图书,输出书名及作者。
SELECT BNAME, AUTHORFROM (SELECT BNAME, AUTHOR, RANK(BNAME) OVER(ORDER BY PRICE DESC) RANK_B FROM BOOK)WHERE RANK_B = 1
5.查询当前借了 “计算方法” 但没有借 “计算方法习题集” 的读者,输出其借书卡号,并按卡号降序排序。
SELECT CNOFROM (SELECT CNO FROM BORROW WHERE BNO = (SELECT BNO FROM BOOK WHERE '计算方法')MINUSSELECT CNO FROM BORROW WHERE BNO = (SELECT BNO FROM BOOK WHERE '计算方法习题集'))ORDER BY DESC
三、谈下你对项目的理解
项目就是在限定的资源、时间与成本下做的临时性活动。
一个项目的开发流程为:需求阶段—-> 设计阶段 —> 开发阶段—> 测试阶段 —> 上线阶段
- 需求阶段:产品经理给我们交接完需求 ,项目经理会根据需求给我们分配开发任务
- 设计阶段:我们会根据需求完成,表结构的设计,整理出数据字典。
开发阶段:我们会根据自己负责的开发任务进行开发,
开发完成以后 ,我们会自己做UT测试(单元测试) ,
转测之前我们项目经理会组织我们进行代码评审,评审通过以后提交测试验证。测试阶段:主要是改BUG ,测试发现问题我们修复,然后跟踪缺陷闭环。
上线阶段:参与上线支持,项目组的全体成员都参与,上线当天有负责生产环境部署的同事进行版本
上线的工作,有问题我们就及时定位解决,没问题就在公司休息,等上线结束。
四、彩票题
用SQL找出彩票出现次数最多的号码
| 期数 | N1 | N2 | N3 | N4 | N5 | N6 | N7 |
|---|---|---|---|---|---|---|---|
| 202101 | 5 | 10 | 15 | 20 | 25 | 30 | 35 |
| 202102 | 6 | 12 | 18 | 24 | 30 | 36 | 1 |
| 202103 | 4 | 8 | 12 | 16 | 20 | 24 | 28 |
SELECT N1,N2,N3,N4,N5,N6,N7FROM (SELECT N1,N2,N3,N4,N5,N6,N7FROM XXXGROUP BY N1,N2,N3,N4,N5,N6,N7ORDER BY COUNT(1) DESC)WHERE ROWNUM = 1;
SELECT N1FROM (SELECT N1, ROW_NUMBER()OVER(ORDER BY COUNT(1) DESC) CNTFROM (SELECT N1 FROM TABLE_LOTTERYUNION ALLSELECT N2 FROM TABLE_LOTTERYUNION ALLSELECT N3FROM TABLE_LOTTERYUNION ALLSELECT N4 FROM TABLE_LOTTERYUNION ALLSELECT N5 FROM TABLE_LOTTERYUNION ALLSELECT N6 FROM TABLE_LOTTERYUNION ALLSELECT N7 FROM TABLE_LOTTERY)GROUP BY N1;)WHERE CNT=1;
