SQL面试题

SQL面试题,第1张

推荐的学习Java的学习顺序如下: 学习Java SE部分的内容,这部分是基础内容。掌握的越扎实,后面的内容学习起来就越容易。学习SQL和数据库的内容 ,这个也是非常基础的内容,举个例子:程序员的面试题中一定会有SQL部分的考试。学习HTML、css、JavaScript的内容。学习,JSP、Servlet、JavaBean、标记库、JSTL、MVC、JSP EL等Web编程的部分学习Struts 或者Spring MVC。二者取其一即可,推荐选Struts 学习Java与XML ,重点掌握使用Java技术对XML文件的解析学习Java EE的核心技术 ,例如:JNDI、EJB3等,同时还需要学习使用与配置应用服务器,例如:webLogic Server,Websphere,JBoss 学习Hibernate 等持久层的技术学习Spring 学习AJAX 学习ANT、Subversion等开发工具,熟悉常见的软件开发模型,例如:rup、XP 学习OOA与OOD,uml,设计模式学习Web Services、SOA的原理与应用开发 最后,现在很多公司都使用Linux系统做为服务器系统,并且使用Linux系统进行程序的开发(都是出于使用正版的考虑),所以Linux系统的安装、使用和简单管与配置,也是需要学习,这部分内容,跟其他内容没有关联,可以在任何时候学。推荐学习完SQL与数据库之后进行学习。 你要想找到一份不错的Java程序员工作,最基本的也要把1-12都学习了,当然有的内容需要深入掌握,有的内容可以慢慢的深入掌握的。

首先创造三个表:

学生表

create table student

{

student_id varchar2(10) not null,

student_name varchar2(50) null

};

课程表

create table course

{

course_id varchar(10) not null,

course_name varchar(100) null

};

分数表

create table score

{

student_id varchar2(10) not null,

course_id varchar2(10) not null,

course_score number(3,1) null

};

答案1:

SELECT ststudent_id,ststudent_name,recourse_num

FROM student st,

(SELECT scstudent_id,count(scstudent_id) course_num

FROM score sc

WHERE sccourse_score > 60 or sccourse_score = 60

GROUP BY scstudent_id ) re

WHERE ststudent_id = restudent_id;

答案2:

SELECT ststudent_id,ststudent_name

FROM student st,

(SELECT scstudent_id

FROM course co,score sc

WHERE cocourse_id = sccourse_id AND course_name = '语文'

GROUP BY scstudent_id) re

WHERE ststudent_id = restudent_id AND ststudent_name LIKE '张%';

答案3:

SELECT ststudent_id,ststudent_name

FROM student st,

(SELECT scstudent_id

FROM course co,score sc

WHERE cocourse_id = sccourse_id AND cocourse_name = '语文' AND cocourse_name = '音乐'

GROUP BY scstudent_id) re

WHERE ststudent_id = restudent_id;

后三道题有点麻烦,有时间再给你解答,以上都是用Oracle专用的SQL语句查询结果集的。

51

select ausername,bdeptname from users a,dept b where adept_id=bid;

52

update users set dept_id='9' where dept_id='2';

53

select adeptname,bcount_id from dept a,(select dept_id,count(id) as count_id from users group by dept_id having count(id)>1) b where aid=bdept_id;

54

select adeptname,bcount_man,ccount_woman from dept a,(select dept_id,count(sex) as count_man from users where sex='男' group by dept_id) b,(select dept_id,count(sex) as count_woman from users where sex='女' group by dept_id) c where aid=bdept_id and aid=cdept_id;

55

添加历史记录表

create table history(

id number(8), -- 记录编号

dept_id varchar2(5), -- 部门ID

user_id varchar2(5), -- 用户ID

change_date date -- 变动日期

);

1、忍不住想说一句,因为第一题中的字段类型是 日期型,而各种数据库 *** 作日期型数据有不同的方法,没有一种共通的方法,所以脱离了数据库而言没有一种共通的sql。

2、select ID,NAME,ADDRESS,PHONE,LOGDATE from T

where ID in( select ID from T group by NAME having count()>1)

order by NAME;

3、delete from T where ID not in

(select min(id) from T group by name);

4、update T

set TADDRESS=(select EADDRESS from E where ENAME=TNAME),

TPHONE=(select EPHONE from E where ENAME=TNAME);

5、这个不同的数据库也有不同的处理方法,不能脱离数据库谈了。

如:SqlServer或者access可以使用 top

oracle可以使用 rownum 等

---

以上,希望对你有所帮助。

方法1:

Select from p a where not exists(select 1 from p where phone=aphone and calltime>acalltime)

方法2:

select a from p a join (select max(calltime)calltime,phone from p group by phone) b on aphone=bphone and aID=bID order by calltime

方法3:

select from p a where ID=(select max(ID) from p where phone=aphone) order by calltime

方法4:

select a from p a join p b on aphone=bphone and acalltime<=bcalltime group by acalltime,aphone,aMemo having count(1)=1

方法5:

select from p a group by calltime,phone,Memo having ID=(select max(calltime)from p where phone=aphone)

方法6:

select from p a where (select count(1) from p where phone=aphone and calltime>acalltime)=0

方法7:

select from p a where calltime=(select top 1 calltime from p where phone=aphone order by calltime desc)

方法8:

select from p a where calltime!<all(select calltime from p where phone=aphone)

方法9(注:ID为唯一时可用):

select from p a where calltime in(select max(calltime) from p group by phone)

以上就是关于SQL面试题全部的内容,包括:SQL面试题、sql语句 面试题、数据库SQL查询语句面试题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9305616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存