一个SQL面试题详解数据库
题目要求
阿里baba的面试题
有三个表
学生表 S
SID SNAME
教师课表 T
TID TNAME TCL
成绩表 SC
SID TCL SCR
各字段的含义不用我标明了吧,大侠哥哥么!呵呵
现在要求写SQL查询
1、选修了A、B课程,并且A课程的成绩大于B成绩的学生姓名?
2、没有选修‘li’老师的课程的学生,要求不能用in,exists 等词?
create table SC(
SID varchar(64) ,
TCL varchar(64) ,
SCR int) ;
create table S (
SID varchar(64) ,
SNAME varchar(64)
) ;
create table T
(
TID varchar(64),
TNAME varchar(64),
TCL varchar(64)
) ;
insert into S VALUES ( 1 , 11 ) ;
insert into S VALUES ( 2 , 22 ) ;
insert into S VALUES ( 3 , 33 ) ;
insert into S VALUES ( 4 , 44 ) ;
insert into SC VALUES ( 1 , a ,100) ;
insert into SC VALUES ( 1 , b ,90) ;
insert into SC VALUES ( 2 , a ,77) ;
insert into SC VALUES ( 3 , b ,34) ;
insert into SC VALUES ( 4 , a ,59) ;
insert into SC VALUES ( 4 , b ,88) ;
insert into T VALUES ( 5 , li , a );
第一个问题的答案
select
s.sname,sc1.scr,sc2.scr
from
s,sc sc1,sc sc2
where s.sid=sc1.sid
and s.sid=sc2.sid
and sc1.tcl= a
and sc2.tcl= b
and sc1.scr sc2.scr
运行结果:
11 ,100 , 90
第二题的答案
select sid from
(select s.sid,a.tcl from (select sc.sid,sc.tcl from sc,t where sc.tcl=t.tcl and t.tname= li ) a
right join s
on a.sid=s.sid ) b
where b.tcl is null
运行结果
3
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4395.html
相关文章
- 进阶vue面试题总结
- 杨校老师课堂之MySQL数据库面试题【开发工程师面试前必看】
- 常见react面试题
- 面试题:说下原生 JDBC 操作数据库流程?
- MySQL 常见的面试题及其答案
- 阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集详解数据库
- 中的应用Oracle数据库中的SQL语句使用指南(sql语句在oracle)
- 快速导出Oracle数据库表记录SQL语句大全(oracle导出表数据sql)
- 嵌入式Linux面试宝典:拿下职位的必备题目(嵌入式linux面试题)
- 数据库操作在Linux系统中操作SQL数据库(linux下sql)
- Oracle数据库表连接SQL技术指南(oracle表连接sql)
- MySQL数据库面试题解析(mysql数据库面试题)
- 「MySQL 数据库面试题大揭秘」(mysql数据库面试题)
- Oracle数据库优化实战 面试题分析(oracle优化面试题)
- 使用SQL语句查询Redis数据库的操作方法(sql语句查询redis)
- Oracle数据库加速发展把握SQL的优势(oracle使用sql吗)
- Redis面试题精选高频问题集(redis高频面试问题)
- Redis高并发面试题提升技能拿Offer(redis面试题高并发)
- Oracle 64位SQL助力数据库优化管理(oracle64位sql)