推荐的学习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查询语句面试题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)