ORACLE SQL语句练习题
--1:选择部门30中的所有员工
select * from emp where deptno=30
--2:列出所有办事员(clerk) 的姓名、编号和部门编号
select empno,ename,deptno from emp where lower(job)='clerk'
--3:找出佣金高于薪金的员工
select * from emp where comm>sal
--4:找出佣金高于薪金的60%的员工
select * from emp where comm>sal*0.6
--5:找出部门10中所有经理(manager)和部门20中所有办事员(clerk)的详细资料
select * from emp where (deptno=10 and lower(job)='manager') or (deptno=20 and lower(job)='clerk')
--6:找出部门10中所有经理(manager),部门20中所有办事员(clerk),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料
select * from emp where (deptno=10 and lower(job)='manager') or (deptno=20 and lower(job)='clerk')
or(job not in('MANAGER','CLERK') and sal>=2000)
--7:找出收取佣金的员工的不同工作名称
select distinct job from emp where comm is not null
--8:找出不收取佣金或收取的佣金低于100的员工
select * from emp where comm is null or comm<100
--9:找出各月倒数第三天受雇的所有员工
select * from emp where hiredate=last_day(hiredate)-2
--10:找出早于12年前受雇的员工
select * from emp where months_between(sysdate,hiredate)/12>12;
--11:以首字母大写的方式显示所有员工的姓名
select initcap(ename) from emp;
--12:显示姓名正好为5个字符的员工
select * from emp where length(ename)=5
--13:显示不带有“R”的员工姓名
select ename from emp where ename not like'%R%'
--14:显示所有员工姓名的前三个字符
select substr(ename,0,3) from emp;
--15:显示所有员工的姓名,用'a' 替换所有'A'
select replace(ename,'A','a') from emp;
--16:显示满10年服务年限的员工的姓名和雇佣日期
select * from emp where months_between(sysdate,hiredate)/12>10;
--17:显示员工的详细资料、按姓名排序
select * from emp order by ename
--18:显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面
select ename,hiredate from emp order by hiredate
--19:显示员工的姓名、工作和薪金,按工作降序排列,若工作相同则按薪金排序
select ename,job,sal from emp order by job desc,sal ;
--20:显示员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面
select ename,to_char(hiredate,'yyyy') eyear,to_char(hiredate,'mm') emonths
from emp
order by emonths,eyear
--21:显示在一个月为30天的情况的所有员工的日薪金,忽略余数
select ename,sal,trunc(sal/30) from emp;
--22:找出在(任何年份)2月份受聘的所有员工
select * from emp where to_char(hiredate,'mm')=2
--23:对于每个员工,显示其加入公司的天数
select ename,trunc(sysdate-hiredate) from emp;
--24:显示姓名字段的任何位置包含“A”的所有员工的姓名
select ename from emp where ename like '%A%'
--25:以年月日的方式显示所有员工的服务年限
select ename ,hiredate,
trunc(months_between(sysdate,hiredate)/12) eyear,
trunc(mod(months_between(sysdate,hiredate),12)) emonth,
trunc(sysdate-add_months(hiredate,months_between(sysdate,hiredate))) eday
from emp
--1:列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资
--思路
--第一步:确定所需要的数据表:
--emp表 :可以查询员工数量、统计信息
--dept表:部门名称
--第二步:确定已知的关联字段:
--雇员和部门 emp.deptno=dept.deptno
--拆分编写
--第一步:找出至少有一个员工的部门编号
select deptno,count(empno)
from emp
group by deptno
having count(empno)>1
--第二步:找到部门名称、需要将emp表和dept表连接查询
select d.deptno,d.dname,count(empno)
from emp e,dept d
where e.deptno=d.deptno(+)
group by d.deptno,d.dname
having count(empno)>1
--第三步:继续统计
select d.deptno,d.dname,count(empno),avg(sal),max(sal),min(sal)
from emp e,dept d
where e.deptno=d.deptno(+)
group by d.deptno,d.dname
having count(empno)>1
--2:列出工资比“SMITH”或“ALLEN”多的所有员工的编号、姓名、部门名称、其领导名称
--思路
--第一步:确定所需要的数据表:
--emp表 :查询出“SMITH”或“ALLEN”的工资、编号、姓名
--emp表 :领导名称,自身关联
--dept表:部门名称
--第二步:确定已知的关联字段:
--雇员和领导 emp.mgr=emp.empno
--雇员和部门 emp.deptno=dept.deptno
select * from emp;
--拆分编写
--第一步:查询出“SMITH”或“ALLEN”的工资
select sal from emp where ename in('SMITH','ALLEN')
--第二步:查询出比“SMITH”或“ALLEN”的工资多的员工姓名、编号
select ename,empno from emp where sal>any
(select sal from emp where ename in('SMITH','ALLEN'))
--第三步:连接dept表,查询出部门名称
select ename,empno,d.dname from emp e,dept d where
sal>
any(select sal from emp where ename in('SMITH','ALLEN'))
and e.deptno=d.deptno
--第四步:查询领导
select e.ename,e.empno,d.dname,m.ename 领导 from
emp e,dept d,emp m where e.sal>any(select sal from emp where ename in('SMITH','ALLEN'))
and e.deptno=d.deptno
and e.mgr=m.empno(+)
--3:列出所有员工的编号、姓名及其直接上级的编号、姓名,显示的结果按领导年工资的降序排列
select e.empno,e.ename,m.empno,(m.sal+nvl(m.comm,0))*12 年薪
from emp e,emp m
where e.mgr=m.empno(+)
order by 年薪 desc;
--4:列出受雇日期早于其直接上级的所有员工的编号、姓名,部门名称、部门位置、部门人数
select e.empno,e.ename,d.dname,d.loc,temp.count
from emp e ,emp m,dept d,
(select deptno dno,count(empno) count from emp group by deptno) temp
where e.mgr=m.empno(+) and e.hiredate<m.hiredate
and e.deptno=d.deptno and e.deptno=temp.dno
--5:列出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门
select d.deptno,d.dname,d.loc,count(e.empno),avg(e.sal)
from emp e,dept d
where e.deptno(+) =d.deptno
group by d.deptno,d.dname,d.loc
--6:列出所有办事员(CLERK)的姓名、及其部门名称、部门的人数、工资等级
select e.ename,d.dname,temp.count,s.grade
from emp e,dept d,
(select deptno dno,count(empno) count from emp group by deptno) temp,
salgrade s
where e.job='CLERK' and e.deptno=d.deptno
and d.deptno=temp.dno
and e.sal between s.losal and s.hisal
--7:列出最低工资大于1500的各种工作以及从事此工作的雇员人数以及所在部门名称、位置、平均工资
select temp.job,temp.count,d.dname,e.ename,res.avg
from dept d,(select e.job job,count(e.empno) count from emp e
group by e.job
having min(e.sal)>1500)temp ,emp e,
(select deptno dno,avg(sal) avg from emp group by deptno) res
where e.deptno=d.deptno and e.job=temp.job
and e.deptno=res.dno
--8:列出在部门“SALES”(销售部)工作的员工的姓名、基本工资、雇佣日期、部门名称、假定不知道销售部的部门编号
select e.ename,e.sal,e.hiredate,d.dname
from emp e,dept d
where e.deptno=d.deptno and d.dname='SALES'
--9:列出工资高于公司平均工资的所有员工、所在部门、上级领导、公司的工资等级
select e.empno,e.ename,e.job,e.sal,d.dname,d.loc,m.ename 领导,s.grade
from emp e,dept d,emp m,salgrade s
where e.sal>
(
select avg(sal) from emp
)
and e.deptno=d.deptno and e.mgr=m.empno(+) and e.sal between s.losal and s.hisal
--10:列出与“SCOTT”从事相同工作的所有员工及部门名称、部门人数
select e.empno,e.ename,e.job,d.dname,temp.count
from emp e,dept d,
(select deptno dno,count(empno) count from emp group by deptno) temp
where e.job=(select job from emp where ename='SCOTT')
and e.ename<>'SCOTT' and e.deptno=d.deptno and temp.dno=e.deptno
--11:列出公司各个工资等级的员工数量、平均工资
select s.grade,s.losal,count(e.empno),avg(e.sal)
from emp e,salgrade s
where e.sal between s.losal and s.hisal
group by s.grade,s.losal
--12:列出工资高于在部门30工作的所有员工的工资的员工姓名、工资和部门名称
select e.empno,e.ename,d.dname
from dept d,emp e
where sal>all
(select sal from emp where deptno=30)
and d.deptno=e.deptno;
--13:列出在每个部门工作的员工数量、平均工资和平均服务年限
select d.deptno,d.dname,d.loc,count(e.empno),avg(sal),avg(months_between(sysdate,e.hiredate)/12) year
from emp e,dept d
where e.deptno(+)=d.deptno
group by d.deptno,d.dname,d.loc
----------------------------------------------高级查询练习--------------------------------------------------------
create table student( sno varchar2() primary key, sname varchar2(), sage number(), ssex varchar2() ); create table user( uid int auto_increment, uname varchar(), password varchar(), primary key(uid) ); create table teacher( tno varchar2() primary key, tname varchar2() ); create table course( cno varchar2(), cname varchar2(), tno varchar2(), constraint pk_course primary key (cno,tno) ); create table sc( sno varchar2(), cno varchar2(), score number(,), constraint pk_sc primary key (sno,cno) ); /*******初始化学生表的数据******/ insert into student values ('s001','张三',,'男'); insert into student values ('s002','李四',,'男'); insert into student values ('s003','吴鹏',,'男'); insert into student values ('s004','琴沁',,'女'); insert into student values ('s005','王丽',,'女'); insert into student values ('s006','李波',,'男'); insert into student values ('s007','刘玉',,'男'); insert into student values ('s008','萧蓉',,'女'); insert into student values ('s009','陈萧晓',,'女'); insert into student values ('s010','陈美',,'女'); commit; /******************初始化教师表***********************/ insert into teacher values ('t001', '刘阳'); insert into teacher values ('t002', '谌燕'); insert into teacher values ('t003', '胡明星'); commit; /***************初始化课程表****************************/ insert into course values ('c001','J2SE','t002'); insert into course values ('c002','Java Web','t002'); insert into course values ('c003','SSH','t001'); insert into course values ('c004','Oracle','t001'); insert into course values ('c005','SQL SERVER 2005','t003'); insert into course values ('c006','C#','t003'); insert into course values ('c007','JavaScript','t002'); insert into course values ('c008','DIV+CSS','t001'); insert into course values ('c009','PHP','t003'); insert into course values ('c010','EJB3.0','t002'); commit; /***************初始化成绩表***********************/ insert into sc values ('s001','c001',78.9); insert into sc values ('s002','c001',80.9); insert into sc values ('s003','c001',81.9); insert into sc values ('s004','c001',60.9); insert into sc values ('s001','c002',82.9); insert into sc values ('s002','c002',72.9); insert into sc values ('s003','c002',81.9); insert into sc values ('s001','c003',''); commit;
初始化数据,请先初始化以下sql语句
练习:
注意:以下练习中的数据是根据初始化到数据库中的数据来写的SQL 语句,请大家务必注意。
1、查询“c001”课程比“c002”课程成绩高的所有学生的学号;
select a.* from
(select * from sc a where a.cno='c001') a,
(select * from sc b where b.cno='c002') b
where a.sno=b.sno and a.score > b.score;
*********************************
select * from sc a
where a.cno='c001'
and exists(select * from sc b where b.cno='c002' and a.score>b.score
and a.sno = b.sno)
2、查询平均成绩大于60 分的同学的学号和平均成绩;
select sno,avg(score) from sc group by sno having avg(score)>60;
3、查询所有同学的学号、姓名、选课数、总成绩;
select a.*,s.sname from (select sno,sum(score),count(cno) from sc group by sno) a ,student s where a.sno=s.sno
4、查询姓“刘”的老师的个数;
select count(*) from teacher where tname like '刘%';
5、查询没学过“谌燕”老师课的同学的学号、姓名;
select a.sno,a.sname from student a
where a.sno
not in
(select distinct s.sno
from sc s,
(select c.*
from course c ,
(select tno
from teacher
where tname='王五')t
where c.tno=t.tno) b
where s.cno = b.cno );
*********************************
select * from student st where st.sno not in
(select distinct sno from sc s join course c on s.cno=c.cno
join teacher t on c.tno=t.tno where tname='王五');
6、查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;
select st.* from sc a
join sc b on a.sno=b.sno
join student st
on st.sno=a.sno
where a.cno='c001' and b.cno='c002' and st.sno=a.sno;
7、查询学过“谌燕”老师所教的所有课的同学的学号、姓名;
select st.* from student st join sc s on st.sno=s.sno
join course c on s.cno=c.cno
join teacher t on c.tno=t.tno
where t.tname='谌燕'
8、查询课程编号“c002”的成绩比课程编号“c001”课程低的所有同学的学号、姓名;
select * from student st
join sc a on st.sno=a.sno
join sc b on st.sno=b.sno
where a.cno='c002' and b.cno='c001' and a.score < b.score
9、查询所有课程成绩小于60 分的同学的学号、姓名;
select st.*,s.score from student st
join sc s on st.sno=s.sno
join course c on s.cno=c.cno
where s.score <60
10、查询没有学全所有课的同学的学号、姓名;
select stu.sno,stu.sname,count(sc.cno) from student stu
left join sc on stu.sno=sc.sno
group by stu.sno,stu.sname
having count(sc.cno)<(select count(distinct cno)from course)
===================================
select * from student where sno in
(select sno from
(select stu.sno,c.cno from student stu
cross join course c
minus
select sno,cno from sc)
)
11、查询至少有一门课与学号为“s001”的同学所学相同的同学的学号和姓名;
select st.* from student st,
(select distinct a.sno from
(select * from sc) a,
(select * from sc where sc.sno='s001') b
where a.cno=b.cno) h
where st.sno=h.sno and st.sno<>'s001'
12、查询至少学过学号为“s001”同学所有一门课的其他同学学号和姓名;
select * from sc
left join student st
on st.sno=sc.sno
where sc.sno<>'s001'
and sc.cno in
(select cno from sc
where sno='s001')
13、把“SC”表中“谌燕”老师教的课的成绩都更改为此课程的平均成绩;
update sc c set score=(select avg(c.score) from course a,teacher b
where a.tno=b.tno
and b.tname='谌燕'
and a.cno=c.cno
group by c.cno)
where cno in(
select cno from course a,teacher b
where a.tno=b.tno
and b.tname='谌燕')
14、查询和“s001”号的同学学习的课程完全相同的其他同学学号和姓名;
select* from sc where sno<>'s001'
minus
(
select* from sc
minus
select * from sc where sno='s001'
)
15、删除学习“谌燕”老师课的SC 表记录;
delete from sc
where sc.cno in
(
select cno from course c
left join teacher t on c.tno=t.tno
where t.tname='谌燕'
)
16、向SC 表中插入一些记录,这些记录要求符合以下条件:没有上过编号“c002”课程的同学学号、“c002”号课的平均成绩;
insert into sc (sno,cno,score)
select distinct st.sno,sc.cno,(select avg(score)from sc where cno='c002')
from student st,sc
where not exists
(select * from sc where cno='c002' and sc.sno=st.sno) and sc.cno='c002';
17、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分
select cno ,max(score),min(score) from sc group by cno;
18、按各科平均成绩从低到高和及格率的百分数从高到低顺序
select cno,avg(score),sum(case when score>=60 then 1 else 0 end)/count(*)
as 及格率
from sc group by cno
order by avg(score) , 及格率 desc
19、查询不同老师所教不同课程平均分从高到低显示
select max(t.tno),max(t.tname),max(c.cno),max(c.cname),c.cno,avg(score) from sc , course c,teacher t
where sc.cno=c.cno and c.tno=t.tno
group by c.cno
order by avg(score) desc
20、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]
select sc.cno,c.cname,
sum(case when score between 85 and 100 then 1 else 0 end) AS "[100-85]",
sum(case when score between 70 and 85 then 1 else 0 end) AS "[85-70]",
sum(case when score between 60 and 70 then 1 else 0 end) AS "[70-60]",
sum(case when score <60 then 1 else 0 end) AS "[<60]"
from sc, course c
where sc.cno=c.cno
group by sc.cno ,c.cname;
21、查询各科成绩前三名的记录:(不考虑成绩并列情况)
select * from
(select sno,cno,score,row_number()over(partition by cno order by score desc) rn from sc)
where rn<4
22、查询每门课程被选修的学生数
select cno,count(sno)from sc group by cno;
23、查询出只选修了一门课程的全部学生的学号和姓名
select sc.sno,st.sname,count(cno) from student st
left join sc
on sc.sno=st.sno
group by st.sname,sc.sno having count(cno)=1;
24、查询男生、女生人数
select ssex,count(*)from student group by ssex;
25、查询姓“张”的学生名单
select * from student where sname like '张%';
26、查询同名同性学生名单,并统计同名人数
select sname,count(*)from student group by sname having count(*)>1;
27、1981 年出生的学生名单(注:Student 表中Sage 列的类型是number)
select sno,sname,sage,ssex from student t where to_char(sysdate,'yyyy')-sage =1988
28、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列
select cno,avg(score) from sc group by cno order by avg(score)asc,cno desc;
29、查询平均成绩大于85 的所有学生的学号、姓名和平均成绩
select st.sno,st.sname,avg(score) from student st
left join sc
on sc.sno=st.sno
group by st.sno,st.sname having avg(score)>85;
30、查询课程名称为“数据库”,且分数低于60 的学生姓名和分数
select sname,score from student st,sc,course c
where st.sno=sc.sno and sc.cno=c.cno and c.cname='Oracle' and sc.score<60
31、查询所有学生的选课情况;
select st.sno,st.sname,c.cname from student st,sc,course c
where sc.sno=st.sno and sc.cno=c.cno;
32、查询任何一门课程成绩在70 分以上的姓名、课程名称和分数;
select st.sname,c.cname,sc.score from student st,sc,course c
where sc.sno=st.sno and sc.cno=c.cno and sc.score>70
33、查询不及格的课程,并按课程号从大到小排列
select sc.sno,c.cname,sc.score from sc,course c
where sc.cno=c.cno and sc.score<60 order by sc.cno desc;
34、查询课程编号为c001 且课程成绩在80 分以上的学生的学号和姓名;
select st.sno,st.sname,sc.score from sc,student st
where sc.sno=st.sno and cno='c001' and score>80;
35、求选了课程的学生人数
select count(distinct sno) from sc;
36、查询选修“谌燕”老师所授课程的学生中,成绩最高的学生姓名及其成绩
select st.sname,score from student st,sc ,course c,teacher t
where
st.sno=sc.sno and sc.cno=c.cno and c.tno=t.tno
and t.tname='谌燕' and sc.score=
(select max(score)from sc where sc.cno=c.cno)
37、查询各个课程及相应的选修人数
select cno,count(sno) from sc group by cno;
38、查询不同课程成绩相同的学生的学号、课程号、学生成绩
select a.* from sc a ,sc b where a.score=b.score and a.cno<>b.cno
39、查询每门功课成绩最好的前两名
select * from (
select sno,cno,score,row_number()over(partition by cno order by score desc) my_rn from sc t
)
where my_rn<=2
40、统计每门课程的学生选修人数(超过10 人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列
select cno,count(sno) from sc group by cno
having count(sno)>10
order by count(sno) desc,cno asc;
41、检索至少选修两门课程的学生学号
select sno from sc group by sno having count(cno)>1;
42、查询全部学生都选修的课程的课程号和课程名
select distinct(c.cno),c.cname from course c ,sc
where sc.cno=c.cno
||
select cno,cname from course c
where c.cno in
(select cno from sc group by cno)
43、查询没学过“谌燕”老师讲授的任一门课程的学生姓名
select st.sname from student st
where st.sno not in
(select distinct sc.sno from sc,course c,teacher t
where sc.cno=c.cno and c.tno=t.tno and t.tname='谌燕')
44、查询两门以上不及格课程的同学的学号及其平均成绩
select sno,avg(score)from sc
where sno in
(select sno from sc where sc.score<60
group by sno having count(sno)>1
) group by sno
45、检索“c004”课程分数小于60,按分数降序排列的同学学号
select sno from sc where cno='c004' and score<90 order by score desc;
46、删除“s002”同学的“c001”课程的成绩
delete from sc where sno='s002' and cno='c001';
ORACLE SQL语句练习题的更多相关文章
- Oracle sql语句执行顺序
sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...
- Oracle SQL语句追踪
Oracle SQL语句追踪 1 SQL语句追踪 追踪SQL语句的执行过程需要在Oracle服务器端进行,Oracle服务器端会检测并记录访问进程所执行的所有SQL语句.下面使用的命令都是在命令行 ...
- Oracle SQL语句执行过程
前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...
- [转]关于oracle sql语句查询时表名和字段名要加双引号的问题
oracle初学者一般会遇到这个问题. 用navicat可视化创建了表,可是就是不能查到! 后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...
- Oracle SQL语句执行步骤
转自:http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762345.html Oracle中SQL语句执行过程中,Oracle内部解析原理如下 ...
- oracle: sql语句报ora-01461/ora-00911错误
oracle: sql语句报ora-01461/ora-00911错误 ora-00911:sql语句中可能含有特殊字符,或者sql语句中不能用";"分号结尾. sql语句报ora ...
- 简单的oracle sql语句练习
简单的oracle sql语句练习 求每个部门的平均薪水 select deptno,avg(sal) from emp group by deptno 每个部门同一个职位的最大工资 select d ...
- Oracle sql语句中不支持boolean类型(decode&case)
[转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...
- oracle管理优化必备语句以及oracle SQL语句性能调整
本文转自http://www.dataguru.cn/article-3302-1.html oracle数据库管理优化必备语句: 1. SELECT T.START_TIME,T.USED_UBLK ...
随机推荐
- 《机器学习基石》---VC维
1 VC维的定义 VC维其实就是第一个break point的之前的样本容量.标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个 ...
- 曹工杂谈:Java 类加载还会死锁?这是什么情况?
一.前言 今天事不是很多,正好在Java交流群里,看到一个比较有意思的问题,于是花了点时间研究了一下,这里做个简单的分享. 先贴一份测试代码,大家可以先猜测一下,执行结果会是怎样的: import j ...
- 部分APP无法代理抓包的原因及解决方法
引言 HTTP应用层的抓包已经成为日常工作测试与调试中的重要一环,最近接触新项目突然之间发现之前的抓包手段都不好使了,顿时模块与模块之间的前端与服务之间的交互都变成了不可见,整个人都好像被蒙住了眼睛. ...
- input样式重置(outline:none)
我们在写表单的时候,经常需要自定义表单的样式,当然input输入框也不例外,那么如何能写出好看一点的输入框呢? 例如简单的三个空按钮: <input type="button" ...
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
内容不转载了,加上链接https://blog.csdn.net/u013565368/article/details/53081195?_t=t
- Python|队列Queue
一 前言 本文算是一次队列的学习笔记,Queue 模块实现了三种类型的队列,它们的区别仅仅是队列中元素被取回的顺序.在 FIFO 队列中,先添加的任务先取回.在 LIFO 队列中,最近被添加的元素先取 ...
- Oracle 优化器_访问数据的方法_单表
Oracle 在选择执行计划的时候,优化器要决定用什么方法去访问存储在数据文件中的数据.我们从数据文件中查询到相关记录,有两种方法可以实现:1.直接访问表记录所在位置.2.访问索引,拿到索引中对应的r ...
- Delphi - Indy TIdFTP控件实现文件的上传和下载
FTP信息保存和获取 我们在做FTP相关开发时,为方便后续FTP切换,一般先把FTP账户信息保存到数据库表中,在使用时再通过Query获取出来. 一般通过如下方式获取到FTP相关信息,代码如下: // ...
- spss分析存在共性线后,接下来是怎么分析?
在进行线性回归分析时,容易出现自变量(解释变量)之间彼此相关,这种情况被称作多重共线性问题. 适度的多重共线性不成问题,但当出现严重共线性问题时,可能导致分析结果不稳定,出现回归系数的符号与实际情况完 ...
- codeforce440C-Maximum splitting-规律题
题意:问一个数最多可以变成几个合数的和: 思路: 时刻提醒自己再看到题目的时候的所作所为,该找规律找规律,想什么ksm,质数判断开根号. 除了1.2.3.5.7.11外,其余的数都可以通过4,6,9获 ...