mysql和oracle面试题_【SQL 面试题2】Mysql 和Oracle数据库

本文提供了关于MySQL和Oracle数据库的面试题及其解题思路,包括数据迁移、多条件判断、数据筛选、视图创建等操作,涉及SQL语句如MERGE、CASE WHEN、UPDATE等,帮助理解两者数据库的差异和使用技巧。
摘要由CSDN通过智能技术生成

1.如果匹配上,将DictB的Desc更新成DictA中对应的字段Desc

14a1f9cf58dc4f980ba871fba3d6166f.png

首先创建两张表格:

CREATE TABLE DictA(id1 number, desc1 varchar2(10));

CREATE TABLE DictB(id1 number, desc1 varchar2(10));

INSERT INTO DictA VALUES (1001, '基金');

INSERT INTO DictA VALUES (2001, '保险');

INSERT INTO DictA VALUES (3001, '证券');

INSERT INTO DictA VALUES (3002, '信托');

INSERT INTO DictB VALUES (1002, '证券');

INSERT INTO DictB VALUES (3001, '银行');

COMMIT;

解题思路:

如果ID匹配得到,则修改(如果ID匹配不到,则插入),类似于增量同步;

又可以用ID和Desc合并判断。

MERGE INTO DICTB B

USING (SELECT * FROM DICTA) A

ON (B.ID1 = A.ID1)

WHEN MATCHED THEN

UPDATE SET B.DESC1 = A.DESC1;

注意事项:

--ORA.00903 表名无效 ,源表要加() 括号

--ORA.00969 缺失ON关键字,ON条件也要加上()括号

2.显示如右图所示,及格分数为60;

815cc328f5a564f8c9af1d10b0d1605b.png

首先创建表格:

CREATE TABLE COURSE(COURSEID NUMBER,COUSERNAME VARCHAR2(10),SCORE NUMBER);

INSERT INTO COURSE VALUES (1, 'java',70);

INSERT INTO COURSE VALUES (2, 'Servlet',60);

INSERT INTO COURSE VALUES (3, 'Oracle',90);

INSERT INTO COURSE VALUES (4, 'xml',40);

INSERT INTO COURSE VALUES (5, 'jsp',50);

INSERT INTO COURSE VALUES (6, 'Chinese',80);

COMMIT;

解题思路:

Case When 对Score多条件判断,并添加多新一列重命名Mark。

SELECT C.*,

CASE WHEN SCORE < 60 THEN 'FAIL'

ELSE 'PASS' END AS MARK

FROM COURSE;

注意事项:

ORA.00923 未找到要求的From关键字 - 不能直接用*返回所有子段

数据库在插入新列Mark后,无法辨认。

因此对表起别名,然后用别名.*

3.将表格中的女生全部迁移到表B上。

9e93a5ed8f06ea495688a10c42c7d2bb.png

首先创建表格:

CREATE TABLE T_CLASSA(NAME VARCHAR2(10),GENDER VARCHAR2(2),STUNUM VARCHAR2(10));

insert into T_CLASSA values('李犇牪', '男','C20160001');

insert in

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值