几道 SQL 语句面试题】的更多相关文章

--S (sno,sname)学生关系,sno为学号 sname为姓名 --C(cno,cname,Cteacher)课程关系 cno为课程号,cname为课程名,cteacher 为任课教师 --SC(sno,cno,scgrade)选课关系 scgrade为成绩 ---- 没有选修过 李明 老师讲授课程的所有学生姓名 SELECT * FROM S WHERE SNO NOT IN( SELECT DISTINCT A.sno FROM SC A INNER JOIN ( SELECT *…
1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜 负2005-05-09 2 22005-05-10 1 2------------------------------------------create table #tmp(rq varchar(10),shengfu nc…
ql语句 面试题   自动编号   学号   姓名 课程编号 课程名称 分数 1        2005001  张三  0001      数学    69 2        2005002  李四  0001      数学    89 3        2005001  张三  0001      数学    69 4  2005001  张三  0003   语文    80 (1) 查询数学分数在表中第10名到第15名的学生信息 (2) 用一条SQL语句 查询出每门课都大于80分的学生…
1.表A和表B具有完全相同的结构,查出表A中有但表B中没有的数据: create table A( id int , name ), password ) ); create table B( id int , name ), password ) ); ,"zhangsan","san"),(2,"wangwu","wu"); SQL语句: select * from A a where (a.name,a.password…
已知有如下4张表: 学生表:STUDENT(S#,SNAME,SAGE,SSEX) 课程表:COURSE(C#,CNAME,T#) 成绩表:SC(S#,C#,SCORE) 教师表:TEACHER(T#,TNAME) 其中,S#代表学号,SNAME代表学生姓名,SAGE代表学生年龄,SSEX代表学生性别,C#代表课程编号,CNAME代表课程名字,T#代表教师编号,TNAME代表教师名字,SCORE代表成绩. 根据以上信息按照下面要求写出对应的SQL语句. 1.查询课程编号为“001”的课程比“00…
1.在SQL Server中,下列关于数据完整性的说法错误的是(). (选择一项) A:实体完整性要求表中的每一行数据都反映不同的试题,不能存在相同的数据行 B:域完整性是只给定列的输入有效性 C:在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系 D:通过索引,唯一约束,主键约束或标识列属性,可以实现引用完整性 正确答案是D 2.SQL Server提供的用于实现设计完整性的约束包括(). (选择两项) A:实体完整性 B:域完整性 C;主键完整性 D:类型完整性 正确答案是A,B…
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1.查询“001”课程比“002”课程成绩高的所有学生的学号: select a.S# from (select s#,score from SC where C#=’001′) a, (select s#,score from SC where C#=’002′) b where a.scor…
Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表 问题:1.查询“001”课程比“002”课程成绩高的所有学生的学号:select a.S#from (select s#,score from SC where C#=’001′) a,(select s#,score from SC where C#=’002′) bwhere a.score>b.scor…
前几天求职面试,有一道SQL题:给出三个表:学生.课程.成绩,求选修了所有课程的学生. 一道看似很简单的问题,把我难住了,我改了又改,涂涂画画,抓耳挠腮,因为试卷没有多少空白位置了,最后只好放弃.心情大受影响,尽管最后还是获得offer. 但是心中有愧呀! 于是在机器上试了试: 先建好表 use test; go create table student(sno varchar(50) not null,name varchar(50) not null); insert into studen…
Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表 问题: 1.查询“001”课程比“002”课程成绩高的所有学生的学号: select a.S# from (select s#,score from SC where C#=’001′) a, (select s#,score from SC where C#=’002′) b where a.score>b…
一条SQL查询,一个表中按日期的累加数据如表: tmp_pay_amount pay_time amount 2013-11-1 10 2013-11-2 5 2013-11-3 4 2013-11-3 6 2013-11-4 8 查询结果: pay_time amount 2013-11-1 10 (11-1的收入) 2013-11-2 15 (11-1 + 11-2 两天收入的和) 2013-11-3 25 (11-1 + 11-2 + 11-3 三天收入的和) 2013-11-4 33 (…
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表   问题: 1.查询“001”课程比“002”课程成绩高的所有学生的学号:  select a.S# from (select s#,score from SC where C#='001') a,(select s#,score  from SC where C#='002') b  where a.…
复制表结构 CREATE TABLE 新表 SELECT * FROM 旧表 where 1=2 复制表结构和数据CREATE TABLE 新表 SELECT * FROM 旧表 查询重复数据: select user_name,count(*) as count from user_table group by user_name having count>1; 比较日期,转换成时间戳UNIX_TIMESTAMP() select * from Table where UNIX_TIMESTA…
1.一道SQL语句面试题,关于group by表内容:2005-05-09 胜2005-05-09 胜2005-05-09 负2005-05-09 负2005-05-10 胜2005-05-10 负2005-05-10 负 如果要生成下列结果, 该如何写sql语句? 胜 负2005-05-09 2 22005-05-10 1 2------------------------------------------create table #tmp(rq varchar(10),shengfu nc…
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90 A: select distinct name from table  where  name not in (select distin…
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90 A: select distinct name from table where name not in (select distinct…
两道sql面试题:    1. 数据库表A的数据如下:             year   quarter             2001      1             2001      2             2001      3             2001      4             2002      1             2002      2             2002      3             2002      4    …
学生选课数据库SQL语句45道练习题: 一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. 表1-1数据库的表结构 表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sname varch…
数据库MySQL经典面试题之SQL语句 1.需要数据库表1.学生表Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号3.教师表Teacher(TID,Tname) --TID 教师编号,Tname 教师姓名4.成绩表SC(SID,CID,score) --SID 学生编号,CID 课程编号…
[写在前面~~] [PS1:建议SQL初学者一定要自己先做一遍题目,这样才有效果~~(做题时为验证查询结果是否正确,可更改表中数据)] [PS2:文末最后一条代码整合了全部51道题目及答案~~] [PS3:题目是网上所找,文中代码为自己练习编写,若有错误,请尽情指出~~] 一.创建数据库 create database 测试1 on primary (name='测试1.mdf', filename='E:\学习\SQL\实例目录\DATA\测试1.mdf', SIZE=5MB, MAXSIZE…
mysql的sql语句优化方法面试题总结 不要写一些没有意义的查询,如需要生成一个空表结构: select col1,col2 into #t from t where 1=0 这类代码不会返回任何结果集,但是会消耗系统资源的,应改成这样: create table #t(...) 很多时候用 exists 代替 in 是一个好的选择: select num from a where num in(select num from b) 用下面的语句替换: select num from a wh…
.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------------------------------ select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name drop table table1 create table t…
转载:本文转载自:https://blog.csdn.net/woshinidedege/article/details/78659202 一.有以下几张表及表结构Student(Sid,Sname,Sage,Ssex) 学生表Course(Cid,Cname,Tid) 课程表SC(Sid,Cid,Score) 成绩表Teacher(Tid,Tname) 教师表题目:1.查询“某1”课程比“某2”课程成绩高的所有学生的学号:select a.Sid from(select Sid,Score f…
如何优化一条有问题的sql语句? 针对sql语句的优化.我们可以从如下几个角度去分析 回归到表的设计层面,数据类型选择是否合理 大表碎片的整理是否完善 表的统计信息,是不是准确的 审查表的执行计划,判断字段上面有没有合适的索引 针对索引的选择性,建立合适的索引(就又涉及到大表DDL的操作问题) 我们看第一点:数据类型要选取合适一些才好. 1)比如建议使用int来存储ipv4的类型,然后通过函数转换.例如: mysql> select inet_aton('172.31.30.62'); +---…
1.用一条sql语句 select (case when a>b then a else b end ),(case when b>c then b esle c end)  from 表名 或者使用 select if(a>b,a,b),if(b>c,b,c) from 表名 注意:数据库不同,可能的语法会有小小的差别 2.当时我用了存储过程 创建存储过程 create procedure proc_group @A  int,  --定义参数 @B int,   @C int,…
今天到某公司笔试,数据库考的比较多,但是说老实话,考的也比较基础.现在趁回忆得起来,将数据库知识简单整理如下: 一.建表指令 比如创建一个学生表student,它由学号Sno,姓名Sname,性别Ssex,年龄Sage,所在系Sdept五个属性组成.其中学号不能为空,值是唯一的,并且姓名取值也唯一. CREATE TABLE Student (Sno    CHAR(10) NOT NULL UNIQUE, Sname  CHAR(20) UNIQUE, Ssex    char(2), Sag…
一.     选择题 1.SQL语言是( C )语言. A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库     redis 是 3.如果在where子句中有两个条件要同时满足,应该用哪个逻辑符来连接(C ) A.OR B.NOT C.AND D.NONE 4.外连接的条件可以放在以下的那一个子句中(  B) A.  FROM B.   WEHRE C.   SELECT D.   HAVING  group by分组后必须用  聚合函数只能在having中用 5.在从两个表中查询数…
JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 刚才看到的,先转载过来,没准以后用到…… 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些?    Hibernate的核心接口一共有5个,分别为:Session.SessionFactory.Transaction.Query和Configuration.  criteria 这5个核心接口在任何开发中都会用到.通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制.    问题3:…
表结构 学生表student(id,name) 课程表course(id,name) 学生课程表student_course(sid,cid,score) 创建表的sql代码 ```sql create table student( id int unsigned primary key auto_increment, name char(10) not null ); insert into student(name) values('张三'),('李四'); create table cou…
1.有3 个表,表结构如下: Student 学生表(学号,姓名,性别,年龄,组织部门) Course 课程表(编号,课程名称) Sc 选课表(学号,课程编号,成绩).    1)写一个SQL 语句,查询选修了’计算机原理’的学生学号和姓名. select student.sno, student.sname from student left join sc on student.sno=sc.sno left join course on sc.cno=course.cno where co…