--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语句练习题的更多相关文章

  1. Oracle sql语句执行顺序

    sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...

  2. Oracle SQL语句追踪

    Oracle SQL语句追踪 1   SQL语句追踪 追踪SQL语句的执行过程需要在Oracle服务器端进行,Oracle服务器端会检测并记录访问进程所执行的所有SQL语句.下面使用的命令都是在命令行 ...

  3. Oracle SQL语句执行过程

    前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...

  4. [转]关于oracle sql语句查询时表名和字段名要加双引号的问题

    oracle初学者一般会遇到这个问题.   用navicat可视化创建了表,可是就是不能查到!   后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...

  5. Oracle SQL语句执行步骤

    转自:http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762345.html Oracle中SQL语句执行过程中,Oracle内部解析原理如下 ...

  6. oracle: sql语句报ora-01461/ora-00911错误

    oracle: sql语句报ora-01461/ora-00911错误 ora-00911:sql语句中可能含有特殊字符,或者sql语句中不能用";"分号结尾. sql语句报ora ...

  7. 简单的oracle sql语句练习

    简单的oracle sql语句练习 求每个部门的平均薪水 select deptno,avg(sal) from emp group by deptno 每个部门同一个职位的最大工资 select d ...

  8. Oracle sql语句中不支持boolean类型(decode&case)

    [转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...

  9. oracle管理优化必备语句以及oracle SQL语句性能调整

    本文转自http://www.dataguru.cn/article-3302-1.html oracle数据库管理优化必备语句: 1. SELECT T.START_TIME,T.USED_UBLK ...

随机推荐

  1. 《机器学习基石》---VC维

    1 VC维的定义 VC维其实就是第一个break point的之前的样本容量.标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个 ...

  2. 曹工杂谈:Java 类加载还会死锁?这是什么情况?

    一.前言 今天事不是很多,正好在Java交流群里,看到一个比较有意思的问题,于是花了点时间研究了一下,这里做个简单的分享. 先贴一份测试代码,大家可以先猜测一下,执行结果会是怎样的: import j ...

  3. 部分APP无法代理抓包的原因及解决方法

    引言 HTTP应用层的抓包已经成为日常工作测试与调试中的重要一环,最近接触新项目突然之间发现之前的抓包手段都不好使了,顿时模块与模块之间的前端与服务之间的交互都变成了不可见,整个人都好像被蒙住了眼睛. ...

  4. input样式重置(outline:none)

    我们在写表单的时候,经常需要自定义表单的样式,当然input输入框也不例外,那么如何能写出好看一点的输入框呢? 例如简单的三个空按钮: <input type="button" ...

  5. 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用

    内容不转载了,加上链接https://blog.csdn.net/u013565368/article/details/53081195?_t=t

  6. Python|队列Queue

    一 前言 本文算是一次队列的学习笔记,Queue 模块实现了三种类型的队列,它们的区别仅仅是队列中元素被取回的顺序.在 FIFO 队列中,先添加的任务先取回.在 LIFO 队列中,最近被添加的元素先取 ...

  7. Oracle 优化器_访问数据的方法_单表

    Oracle 在选择执行计划的时候,优化器要决定用什么方法去访问存储在数据文件中的数据.我们从数据文件中查询到相关记录,有两种方法可以实现:1.直接访问表记录所在位置.2.访问索引,拿到索引中对应的r ...

  8. Delphi - Indy TIdFTP控件实现文件的上传和下载

    FTP信息保存和获取 我们在做FTP相关开发时,为方便后续FTP切换,一般先把FTP账户信息保存到数据库表中,在使用时再通过Query获取出来. 一般通过如下方式获取到FTP相关信息,代码如下: // ...

  9. spss分析存在共性线后,接下来是怎么分析?

    在进行线性回归分析时,容易出现自变量(解释变量)之间彼此相关,这种情况被称作多重共线性问题. 适度的多重共线性不成问题,但当出现严重共线性问题时,可能导致分析结果不稳定,出现回归系数的符号与实际情况完 ...

  10. codeforce440C-Maximum splitting-规律题

    题意:问一个数最多可以变成几个合数的和: 思路: 时刻提醒自己再看到题目的时候的所作所为,该找规律找规律,想什么ksm,质数判断开根号. 除了1.2.3.5.7.11外,其余的数都可以通过4,6,9获 ...