- 浏览: 1223218 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (706)
- 全部博客(10000) (0)
- java基础 (123)
- 算法及数据结构 (64)
- SSH框架整合与平台系统分析 (11)
- j2ee (46)
- Oracle (95)
- SQL Server (11)
- javaScript (73)
- Ajax (22)
- jQuery (39)
- ExtJs (4)
- jsp (13)
- Servlet (6)
- struts1 (2)
- struts2 (33)
- Ibatis (2)
- hibernate (24)
- Spring (11)
- 设计模式 (8)
- 正则表达式 (9)
- UML (0)
- XML (9)
- linux (19)
- CSS (11)
- FreeMarker (4)
- nginx 与 memcached (6)
- SEO (5)
- Web 服务器 (11)
- junit 与 selenium2 (4)
- MyEclipse 有关的问题 (24)
- 生活杂感 (37)
- 看过的书 (2)
- 技术牛人 (2)
- 需要优化的例子 (3)
- English 学习 (7)
- bug修改的解决方法 (2)
- 数据库实战经验总结 (1)
- 期待解决的问题 (20)
- 等待自己学习的东西 (15)
- 自己公司代码结构总结 (15)
- 企业经营之道 (23)
- 工具管理 (1)
- 世范水晶 (2)
最新评论
-
hustkeai:
第一个方法是不对的
求一个Map中最大的value值,同时列出键,值 -
qq591920734:
java List 排序 Collections.sort() 对 List 排序(首先年龄排序,如果年龄相同,则按名字排序) -
qq591920734:
[color=orange][/color]包女包女不女
java List 排序 Collections.sort() 对 List 排序(首先年龄排序,如果年龄相同,则按名字排序) -
timer_yin:
seagrave 写道这个算法想法不错,但太耗时,我用1、2、 ...
用1、2、2、3、4、5这六个数字,数字排序经典算法 -
hellostory:
日常生活中,我们都不按你上面的那个方法算的!!!
JAVA小函数-计算日期差
一.简单SQL查询:
1):统计每个部门员工的数目
select dept,count(*) from employee group by dept;
2):统计每个部门员工的数目大于一个的记录
select dept,count(*) from employee group by dept having count(*)>1;
3):统计工资超过1200的员工所在部门的名称
select e.first_name,salary,d.name
from s_emp e, s_dept d
where e.dept_id = d.id
and salary > 1200;
4):查询哪个部门没有员工
select e.empno, d.deptno
from emp e, dept d
where e.deptno(+) = d.deptno
and e.deptno is null;
二.复杂SQL查询
有3个表(15分钟):(SQL)
Student 学生表 (学号,姓名,性别,年龄,组织部门)
Course 课程表 (编号,课程名称)
Sc 选课表 (学号,课程编号,成绩)
表结构如下:
1) 写一个SQL语句,查询选修了’JAVA’的学生学号和姓名(3分钟)
答:SQL语句如下:
select stu.sno, stu.sname
from student stu, course c, sc
where stu.sno = sc.sno
and sc.cno = c.cno
and c.cname=’JAVA’;
2) 写一个SQL语句,查询’a’同学选修了的课程名字(3分钟)
答:SQL语句如下:
select stu.sname, c.cname
from student stu, course c, sc
where stu.sno = sc.sno
and sc.cno = c.cno
and stu.sname = ’a’;
3) 写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)
答:SQL语句如下:
select stu.sno, stu.sname
from student stu
where (select count(*) from sc where sno=stu.sno) = 5;
三. 在SQL中删除重复记录的方法:(用到rowid (oracle伪列))
1)通过建立临时表来实现
SQL>create table temp_emp as (select distinct * from employee)
SQL>truncate table employee; (清空employee表的数据)
SQL>rename temp_emp to employee; (再将表重命名)
2)通过使用rowid来实现。
SQL>delete from employee where rowid not in (
select max(t1.rowid) from employee t1 group by
t1.emp_id,t1.emp_name,t1.salary);--这里用min(rowid)也可以。
四. TOP N问题:(用到rownum (oracle伪列))
--rownum只能使用<=或<的关系比较运算符
select * from s_emp where rownum <= 2;
--查询公司工资最高的3个人
/*select * from emp
where rownum <= 3
order by sal desc;*/ 错误的
select * from (select * from emp order by sal desc)
where rownum <= 3;
五.分页查询:
--查询第1-5条记录
select * from (select rownum num, s_emp.* from s_emp)
where num >=1 and num <= 5;
--按工资排序,五条一页,查找第二页
select salary,first_name
from(
select s.*, rownum rm
from (select *
from s_emp
order by salary d
) s
)
where rm between 6 and 10
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/SmartTony/archive/2008/01/24/2064238.aspx
1):统计每个部门员工的数目
select dept,count(*) from employee group by dept;
2):统计每个部门员工的数目大于一个的记录
select dept,count(*) from employee group by dept having count(*)>1;
3):统计工资超过1200的员工所在部门的名称
select e.first_name,salary,d.name
from s_emp e, s_dept d
where e.dept_id = d.id
and salary > 1200;
4):查询哪个部门没有员工
select e.empno, d.deptno
from emp e, dept d
where e.deptno(+) = d.deptno
and e.deptno is null;
二.复杂SQL查询
有3个表(15分钟):(SQL)
Student 学生表 (学号,姓名,性别,年龄,组织部门)
Course 课程表 (编号,课程名称)
Sc 选课表 (学号,课程编号,成绩)
表结构如下:
1) 写一个SQL语句,查询选修了’JAVA’的学生学号和姓名(3分钟)
答:SQL语句如下:
select stu.sno, stu.sname
from student stu, course c, sc
where stu.sno = sc.sno
and sc.cno = c.cno
and c.cname=’JAVA’;
2) 写一个SQL语句,查询’a’同学选修了的课程名字(3分钟)
答:SQL语句如下:
select stu.sname, c.cname
from student stu, course c, sc
where stu.sno = sc.sno
and sc.cno = c.cno
and stu.sname = ’a’;
3) 写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)
答:SQL语句如下:
select stu.sno, stu.sname
from student stu
where (select count(*) from sc where sno=stu.sno) = 5;
三. 在SQL中删除重复记录的方法:(用到rowid (oracle伪列))
1)通过建立临时表来实现
SQL>create table temp_emp as (select distinct * from employee)
SQL>truncate table employee; (清空employee表的数据)
SQL>rename temp_emp to employee; (再将表重命名)
2)通过使用rowid来实现。
SQL>delete from employee where rowid not in (
select max(t1.rowid) from employee t1 group by
t1.emp_id,t1.emp_name,t1.salary);--这里用min(rowid)也可以。
四. TOP N问题:(用到rownum (oracle伪列))
--rownum只能使用<=或<的关系比较运算符
select * from s_emp where rownum <= 2;
--查询公司工资最高的3个人
/*select * from emp
where rownum <= 3
order by sal desc;*/ 错误的
select * from (select * from emp order by sal desc)
where rownum <= 3;
五.分页查询:
--查询第1-5条记录
select * from (select rownum num, s_emp.* from s_emp)
where num >=1 and num <= 5;
--按工资排序,五条一页,查找第二页
select salary,first_name
from(
select s.*, rownum rm
from (select *
from s_emp
order by salary d
) s
)
where rm between 6 and 10
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/SmartTony/archive/2008/01/24/2064238.aspx
发表评论
-
group by、order by与having、where,的位置先后。
2013-10-21 22:42 6208order by 是对数据进行排序,默认是升序ASC,降序 ... -
关于表分区的问题
2013-09-15 01:58 8281、分区表,按状态或时间,分开写再不同的表空间中,在查询的时 ... -
数据库 查询成绩及格的人
2013-09-11 22:53 9891、建表结构 -- 创建表create table ... -
大表加快查询方法
2013-09-07 16:44 993大表加快查询方法:表分区,建索引,根据where字段后的条 ... -
SQL语句优化:大批量循环插入数据的简化
2013-09-05 13:46 5862最近在学习SQL查询语句优化,试着弄个大数据量的数据库用来 ... -
oracle的nvl和nvl2是什么函数,两者区别是什么呢
2013-09-01 15:40 956NVL2(expr1,expr2,expr3) 功能:如 ... -
Oracle SQL性能优化
2013-08-29 22:29 871Oracle SQL性能优化 (1) 选择最有效 ... -
oracle over 用法
2013-06-27 11:56 573http://blog.csdn.net/xiuhaijua ... -
数据库中union 与union all 的区别
2013-06-07 14:49 954http://www.cn-java.com/www1/? ... -
SQL 左外连接,右外连接,全连接,内连接,自连接
2013-05-29 16:16 1221-- 左连接 ... -
Oracle 服务解释
2013-02-01 09:45 9831、OracleCSService 进程:ocssd.e ... -
添加 或修改字段
2012-10-16 11:39 9931、添加字段 Alter Table Rsc_In ... -
oracle 带参数的简单存储过程 的写法
2012-07-13 17:52 1317-- 下面代码都是在doc下面执行的。cmd -->&g ... -
SQLServer和Oracle,存储过程区别,常用函数对比
2012-03-23 16:44 10801、SQLServer和Oracle,存储过程区别,常用函数对 ... -
用sql语句 拷贝旧表中的数据(也就是创建一个完全一样的表,就是表名不同)
2012-03-16 11:24 1130-- 下面是oracle 的创建方式 CREATE TABL ... -
oracle 面试
2012-02-06 21:21 1024面试题1、 prompt PL/SQL Developer ... -
oracle 11g win7 安装说明
2012-01-17 14:52 959安装的说明都在文档中:请下载文档! -
oracle中实现主键的自动增加
2012-01-16 14:30 924实现方法1: 建立一个最小为1,最大为nomaxval ... -
拼sql语句 批量删除
2011-12-06 14:22 1487String sql="delete from ... -
SQL中where 1=1语句的作用
2011-11-16 19:45 1410where 1=1有什么用?在SQL语言中,写这么一句话就跟没 ...
相关推荐
以上Oracle面试题目涵盖了Oracle数据库的基础操作,包括表空间管理、表创建与维护、用户管理、权限分配、索引创建、序列管理、数据插入、更新与删除等关键知识点。这些问题能够帮助求职者熟悉Oracle数据库的基本功能...
Oracle数据库是大型的事务处理系统,广泛应用于企业级应用。以下为文档中提取的Oracle相关知识点。 1. SQL语句书写:文档中展示了一个SQL查询的例子,使用了case...掌握这些知识点对于应对Oracle面试题目至关重要。
根据提供的文件内容,我们可以归纳出以下几个重要的Oracle面试题目及其解答: ### 1. 创建表与数据插入 **题目描述:** 创建两个表`A`和`B`,并为它们填充一些示例数据。 **解答:** #### 表A - `incount`: 整型...
个人收集的oracle面试题目,有的没有吧.
### SQL与Oracle面试知识点解析 #### 1. 冷备份与热备份的不同点及各自的优点 - **冷备份**:通常在数据库完全关闭的情况下进行,适用于全盘备份。其主要优点在于备份速度快、数据一致性高,恢复过程简单快速。缺点...
Oracle是全球最大的企业级数据库管理系统提供商,其面试题目通常涵盖了数据库管理、SQL查询、性能优化、备份恢复等多个方面。以下是一些可能出现在Oracle面试中的重要知识点及其详细解答,帮助你轻松应对面试官。 1...
在面试中,面试官常常会考察候选人对于Oracle数据库管理、备份恢复、性能优化等核心概念的理解。以下是对题目中涉及的一些关键知识点的详细解释: 1. **冷备份与热备份**:冷备份是在数据库关闭状态下进行的,它...
Oracle数据库管理员(DBA)面试题目涉及了许多核心概念和操作,以下是对这些面试题目的详细解析: 1. **冷备份与热备份**: - **冷备份**是在数据库关闭时进行的,适用于所有模式,简单易行,不需归档日志,但无法...
以下是一些可能在Oracle面试中遇到的知识点: 1. SQL查询: - 数据检索:理解SELECT语句的使用,包括WHERE子句、GROUP BY、HAVING和ORDER BY。 - 联接操作:了解INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN的...
Oracle数据库在面试中经常涉及多个核心概念和技术,包括数据库实例、表空间、数据文件...以上就是Oracle面试中涉及的一些关键知识点的详细解释,涵盖了数据库结构、数据操作、异常处理、性能优化和备份恢复等多个方面。
经典的oracle面试题及答案,单表查询,多表关联查询,子查询,常用内置函数使用,多且全.
极详细oracle数据库面试题目汇总,按照这个思路去复习就可以了
Oracle是世界上最广泛使用的数据库...以上内容涵盖了Oracle面试中可能出现的主要知识点,深入理解和掌握这些内容将大大提高你成功通过面试的可能性。记住,实践经验同样重要,能够结合实际案例来解答问题会更显专业。
从提供的文件内容来看,面试题主要集中在SQL优化、Oracle优化器工作原理以及性能监控等方面。 首先,文件中提到的SQL Tuning(SQL优化)是数据库性能优化的关键环节。文件介绍了三种表的常用连接方式:NESTED LOOP...
以下是对Oracle笔试面试题目中涉及的一些关键知识点的详细解释: 1. **冷备份与热备份**: - **冷备份**:在数据库关闭后进行,简单且适用于所有模式,但不能在备份过程中使用数据库。 - **热备份**:在数据库...
Oracle 数据库面试题目汇总 本资源摘要信息将涵盖 Oracle 数据库面试题目汇总的关键知识点,涵盖字符串操作函数、事务概念、查询系统时间、触发器的作用、数字函数、关系数据库系统与文件数据库系统的区别、触发器...
【Oracle数据库面试题目详解】 1. 字符串操作函数: Oracle数据库提供了丰富的字符串处理函数,例如ASCII()用于获取字符的ASCII码,CHR()用于将ASCII码转换为字符,CONCAT()用于连接两个字符串,LOWER()和UPPER()...