SQL操作

create table DEPT
(
  deptno NUMBER(2) not null,
  dname  VARCHAR2(20),
  loc    VARCHAR2(13)
);

  
alter table DEPT
  add constraint PK_DEPT primary key (DEPTNO);

create table TEACHER
(
  tno       NUMBER(4) not null,
  tname     VARCHAR2(30) not null,
  tid       CHAR(18),
  gendar    CHAR(3),
  birthdate DATE,
  job       VARCHAR2(20),
  hiredate  DATE,
  sal       NUMBER(7,2),
  deptno    NUMBER(2),
  mgrno     NUMBER(4),
  comm      NUMBER(7,2)
);
 
insert into DEPT (deptno, dname, loc)
values (40, '人力部', '北京海淀');
insert into DEPT (deptno, dname, loc)
values (30, '产品部', '北京海淀');
insert into DEPT (deptno, dname, loc)
values (20, '招生部', '上海虹桥');
insert into DEPT (deptno, dname, loc)
values (10, '研究院', '北京海淀');
insert into DEPT (deptno, dname, loc)
values (50, '系统部', '北京昌平');
commit;

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1002, '赵辉', '110101760609001   ', '', to_date('09-06-1976', 'dd-mm-yyyy'), '考试专员', to_date('23-05-2006 02:40:40', 'dd-mm-yyyy hh24:mi:ss'), 29370.95, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1003, '杨利乐', '110101198705256045', '', to_date('25-05-1987', 'dd-mm-yyyy'), '考试专员', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 7134.32, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1004, '王益辉', '110101199108154770', '', to_date('15-08-1991', 'dd-mm-yyyy'), '营销专员', to_date('16-01-2012 03:12:43', 'dd-mm-yyyy hh24:mi:ss'), 30737.36, 20, null, 2300.00);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1006, '秦璐璐', '110101199004153068', '', to_date('14-04-1990', 'dd-mm-yyyy'), '运维工程师', to_date('20-06-2012 00:47:09', 'dd-mm-yyyy hh24:mi:ss'), 9013.25, 10, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1007, '梁改焕', '110101196911206548', '', to_date('20-11-1969', 'dd-mm-yyyy'), '讲师', to_date('13-06-2006 23:07:02', 'dd-mm-yyyy hh24:mi:ss'), 8664.16, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1008, '冯爱仙', '110101196804021521', '', to_date('02-04-1968', 'dd-mm-yyyy'), '讲师', to_date('06-06-2006 13:41:50', 'dd-mm-yyyy hh24:mi:ss'), 29936.29, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1009, '秦亚杰', '110101196312163531', '', to_date('16-12-1963', 'dd-mm-yyyy'), '岗位分析师', to_date('13-07-2005 06:32:30', 'dd-mm-yyyy hh24:mi:ss'), 24991.44, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1010, '刘浩星', '110101198806283516', '', to_date('28-06-1988', 'dd-mm-yyyy'), '考试专员', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 22645.92, null, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1011, '秦春叶', '110101197103033540', '', to_date('03-03-1971', 'dd-mm-yyyy'), '网络营销师', to_date('07-07-2007 16:02:04', 'dd-mm-yyyy hh24:mi:ss'), 31653.23, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1012, '陈水花', '110101192811043026', '', to_date('04-11-1928', 'dd-mm-yyyy'), '考试专员', to_date('29-01-2005 23:21:59', 'dd-mm-yyyy hh24:mi:ss'), 29773.37, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1013, '马付妮', '110101195806133522', '', to_date('13-06-1958', 'dd-mm-yyyy'), '研发', to_date('17-11-2004 08:54:04', 'dd-mm-yyyy hh24:mi:ss'), 17041.60, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1015, '刘得安', '110101195210083518', '', to_date('08-10-1952', 'dd-mm-yyyy'), '考试专员', to_date('13-03-2005 23:25:37', 'dd-mm-yyyy hh24:mi:ss'), 30356.99, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1016, '高利芹', '110101198307276020', '', to_date('27-07-1983', 'dd-mm-yyyy'), '岗位分析师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 25751.36, null, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1017, '刘志刚', '110101197806164493', '', to_date('16-06-1978', 'dd-mm-yyyy'), '运维工程师', to_date('10-05-2008 13:46:33', 'dd-mm-yyyy hh24:mi:ss'), 22344.73, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1018, '高心立', '110101194102076011', '', to_date('07-02-1941', 'dd-mm-yyyy'), '网络营销师', to_date('03-03-2005 15:17:07', 'dd-mm-yyyy hh24:mi:ss'), 19981.02, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1019, '徐丽', '11010119790809354X', '', to_date('09-08-1979', 'dd-mm-yyyy'), '研发', to_date('09-12-2009 18:37:22', 'dd-mm-yyyy hh24:mi:ss'), 10950.33, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1021, '刘志红', '110101196504284452', '', to_date('28-04-1965', 'dd-mm-yyyy'), '岗位分析师', to_date('20-09-2011 10:51:33', 'dd-mm-yyyy hh24:mi:ss'), 7122.60, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1022, '孔鹏飞', '110101198603304014', '', to_date('30-03-1986', 'dd-mm-yyyy'), '人力资源师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 7045.28, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1023, '李建坡', '110101731107301   ', '', to_date('07-11-1973', 'dd-mm-yyyy'), '网络营销师', to_date('04-07-2009 06:28:20', 'dd-mm-yyyy hh24:mi:ss'), 21133.91, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1024, '冯爱敏', '110101196907283840', '', to_date('18-07-1969', 'dd-mm-yyyy'), '营销专员', to_date('12-09-2005 22:41:06', 'dd-mm-yyyy hh24:mi:ss'), 3360.91, 20, null, 50000.00);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1025, '薛栓成', '110101400710051   ', '', to_date('10-07-1940', 'dd-mm-yyyy'), '网络营销师', to_date('03-09-2007 14:55:06', 'dd-mm-yyyy hh24:mi:ss'), 12136.65, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1026, '牛伟伟', '11010119851120602X', '', to_date('20-11-1985', 'dd-mm-yyyy'), '岗位分析师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 6622.66, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1027, '郭香云', '110101196010154525', '', to_date('15-10-1960', 'dd-mm-yyyy'), '网络营销师', to_date('03-05-2005 13:01:22', 'dd-mm-yyyy hh24:mi:ss'), 26436.18, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1028, '朱花枝', '110101195605154028', '', to_date('15-05-1956', 'dd-mm-yyyy'), '研发', to_date('11-09-2007 07:41:01', 'dd-mm-yyyy hh24:mi:ss'), 10095.22, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1029, '李岗', '110101196505163095', '', to_date('16-05-1965', 'dd-mm-yyyy'), '岗位分析师', to_date('09-11-2007 17:26:38', 'dd-mm-yyyy hh24:mi:ss'), 23928.84, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1030, '李军会', '110101197706152524', '', to_date('15-06-1977', 'dd-mm-yyyy'), '营销专员', to_date('12-05-2007 19:48:21', 'dd-mm-yyyy hh24:mi:ss'), 3492.19, 20, null, 25000.00);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1031, '孙龙举', '110101198908306037', '', to_date('30-08-1989', 'dd-mm-yyyy'), '运维工程师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 4323.84, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1032, '韩朝旭', '110101199003270513', '', to_date('27-03-1900', 'dd-mm-yyyy'), '人力资源师', to_date('11-09-2010 17:54:30', 'dd-mm-yyyy hh24:mi:ss'), 13740.92, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1033, '孙少光', '110101198809274535', '', to_date('27-09-1988', 'dd-mm-yyyy'), '网络营销师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 19778.62, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1035, '邓香敏', '110101196607163109', '', to_date('16-07-1966', 'dd-mm-yyyy'), '人力资源师', to_date('12-04-2007 17:47:14', 'dd-mm-yyyy hh24:mi:ss'), 29463.38, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1037, '霍振方', '110101198411070014', '', to_date('07-11-1984', 'dd-mm-yyyy'), '讲师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 23731.31, 40, 1087, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1038, '许双鸽', '110101781217004   ', '', to_date('17-12-1978', 'dd-mm-yyyy'), '网络营销师', to_date('05-09-2007 18:45:00', 'dd-mm-yyyy hh24:mi:ss'), 16512.52, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1040, '张春红', '110101197806176089', '', to_date('17-06-1978', 'dd-mm-yyyy'), '运维工程师', to_date('21-11-2004 06:52:30', 'dd-mm-yyyy hh24:mi:ss'), 31728.83, 10, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1041, '卢玉莲', '110101510606004   ', '', to_date('06-06-1951', 'dd-mm-yyyy'), '人力资源师', to_date('30-03-2009 17:05:45', 'dd-mm-yyyy hh24:mi:ss'), 17596.43, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1042, '李军会', '110101197706152524', '', to_date('15-06-1977', 'dd-mm-yyyy'), '讲师', to_date('13-06-2008 03:24:47', 'dd-mm-yyyy hh24:mi:ss'), 8443.59, 50, 1008, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1043, '朱水娃', '110101195210033512', '', to_date('03-10-1952', 'dd-mm-yyyy'), '讲师', to_date('11-10-2009 03:40:53', 'dd-mm-yyyy hh24:mi:ss'), 9123.09, 30, 1008, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1045, '高大荣', '110101195504073528', '', to_date('07-04-1955', 'dd-mm-yyyy'), '考试专员', to_date('07-12-2005 14:56:05', 'dd-mm-yyyy hh24:mi:ss'), 4000.00, 10, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1046, '秦付根', '110101195301034035', '', to_date('03-01-1953', 'dd-mm-yyyy'), '讲师', to_date('10-12-2004 22:51:51', 'dd-mm-yyyy hh24:mi:ss'), 16420.33, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1047, '樊增妮', '110101410715352   ', '', to_date('15-07-1941', 'dd-mm-yyyy'), '网络营销师', to_date('02-12-2005 14:41:54', 'dd-mm-yyyy hh24:mi:ss'), 13316.01, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1048, '宋素敏', '11010119720111458X', '', to_date('11-02-1972', 'dd-mm-yyyy'), '岗位分析师', to_date('26-09-2004 12:15:57', 'dd-mm-yyyy hh24:mi:ss'), 2142.92, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1049, '李记', '110101194803256012', '', to_date('25-03-1948', 'dd-mm-yyyy'), '网络营销师', to_date('23-03-2006 19:12:45', 'dd-mm-yyyy hh24:mi:ss'), 13866.09, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1050, '秦单风', '110101198911153625', '', to_date('15-11-1989', 'dd-mm-yyyy'), '考试专员', to_date('21-10-2012 05:31:34', 'dd-mm-yyyy hh24:mi:ss'), 21419.38, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1051, '秦占豪', '110101198509034011', '', to_date('03-09-1985', 'dd-mm-yyyy'), '讲师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 31564.79, 40, 1087, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1054, '张利娟', '110101197901173062', '', to_date('17-01-1979', 'dd-mm-yyyy'), '网络营销师', to_date('08-05-2011 22:37:13', 'dd-mm-yyyy hh24:mi:ss'), 7419.99, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1055, '陈向琼', '11010119871010354X', '', to_date('10-10-1987', 'dd-mm-yyyy'), '讲师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 4000.00, 10, 1087, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1056, '杨晓磊', '110101199105106079', '', to_date('10-05-1991', 'dd-mm-yyyy'), '研发', to_date('05-04-2012 22:16:05', 'dd-mm-yyyy hh24:mi:ss'), 20812.41, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1057, '黄芳菊', '110101196611133520', '', to_date('13-11-1966', 'dd-mm-yyyy'), '网络营销师', to_date('04-07-2008 17:36:20', 'dd-mm-yyyy hh24:mi:ss'), 12711.46, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1058, '李红勤', '110101197209084047', '', to_date('08-09-1972', 'dd-mm-yyyy'), '运维工程师', to_date('01-03-2007 05:57:34', 'dd-mm-yyyy hh24:mi:ss'), 21119.95, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1060, '薛栓成', '110101400710051   ', '', to_date('10-07-1940', 'dd-mm-yyyy'), '考试专员', to_date('22-08-2007 08:06:47', 'dd-mm-yyyy hh24:mi:ss'), 24544.66, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1061, '高发娃', '110101192905226032', '', to_date('22-05-1929', 'dd-mm-yyyy'), '运维工程师', to_date('12-12-2004 22:49:04', 'dd-mm-yyyy hh24:mi:ss'), 23458.34, 10, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1062, '李新昌', '110101196403106013', '', to_date('10-03-1964', 'dd-mm-yyyy'), '研发', to_date('01-04-2011 18:00:33', 'dd-mm-yyyy hh24:mi:ss'), 18605.46, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1065, '赵永刚', '110101197507310014', '', to_date('31-07-1975', 'dd-mm-yyyy'), '岗位分析师', to_date('05-12-2009 15:00:29', 'dd-mm-yyyy hh24:mi:ss'), 3155.96, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1067, '冯世伟', '110101198811154532', '', to_date('15-11-1988', 'dd-mm-yyyy'), '讲师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 17854.88, 40, 1087, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1068, '张延付', '110101197005233514', '', to_date('23-05-1970', 'dd-mm-yyyy'), '岗位分析师', to_date('21-05-2009 10:16:16', 'dd-mm-yyyy hh24:mi:ss'), 24294.43, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1070, '陈粉', '110101195801206040', '', to_date('20-01-1958', 'dd-mm-yyyy'), '营销专员', to_date('29-06-2011 21:27:04', 'dd-mm-yyyy hh24:mi:ss'), 17708.56, 20, null, 600.00);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1071, '张根祥', '110101194412126513', '', to_date('12-12-1944', 'dd-mm-yyyy'), '岗位分析师', to_date('06-10-2006 12:14:34', 'dd-mm-yyyy hh24:mi:ss'), 8802.52, null, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1074, '李秋彩', '110101197411186020', '', to_date('18-11-1974', 'dd-mm-yyyy'), '考试专员', to_date('09-04-2005 01:11:29', 'dd-mm-yyyy hh24:mi:ss'), 19315.97, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1075, '李建玲', '110101198110164423', '', to_date('16-10-1981', 'dd-mm-yyyy'), '运维工程师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 9023.25, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1076, '张仙', '110101530824316   ', '', to_date('24-08-1953', 'dd-mm-yyyy'), '考试专员', to_date('09-05-2011 11:15:29', 'dd-mm-yyyy hh24:mi:ss'), 8654.83, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1077, '朱金典', '110101196810023531', '', to_date('02-10-1968', 'dd-mm-yyyy'), '营销专员', to_date('11-01-2008 11:13:31', 'dd-mm-yyyy hh24:mi:ss'), 6687.97, 20, null, 2700.00);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1079, '孙玉环', '110101195006056047', '', to_date('05-06-1950', 'dd-mm-yyyy'), '考试专员', to_date('17-11-2008 12:48:12', 'dd-mm-yyyy hh24:mi:ss'), 7490.24, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1080, '邢中景', '110101198208284519', '', to_date('28-08-1982', 'dd-mm-yyyy'), '运维工程师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 24990.57, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1081, '韩巧真', '110101198404190026', '', to_date('19-04-1984', 'dd-mm-yyyy'), '人力资源师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 9880.26, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1084, '杜巧琴', '110101196201036089', '', to_date('03-01-1962', 'dd-mm-yyyy'), '岗位分析师', to_date('13-01-2011 16:11:23', 'dd-mm-yyyy hh24:mi:ss'), 21655.36, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1085, '席妞娃', '110101194601154026', '', to_date('15-01-1946', 'dd-mm-yyyy'), '运维工程师', to_date('15-08-2008 06:36:11', 'dd-mm-yyyy hh24:mi:ss'), 24615.12, 20, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1087, '薛素粉', '110101196701044528', '', to_date('04-01-1967', 'dd-mm-yyyy'), '讲师', to_date('10-09-2007 06:07:14', 'dd-mm-yyyy hh24:mi:ss'), 12357.56, null, 1008, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1088, '王雪英', '110101193311264521', '', to_date('26-11-1933', 'dd-mm-yyyy'), '岗位分析师', to_date('18-02-2006 23:37:15', 'dd-mm-yyyy hh24:mi:ss'), 23670.53, 10, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1089, '刘秀菊', '110101530414306   ', '', to_date('14-04-1953', 'dd-mm-yyyy'), '研发', to_date('11-09-2004 18:17:49', 'dd-mm-yyyy hh24:mi:ss'), 22608.20, null, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1090, '刘芳芳', '110101198912216025', '', to_date('21-12-1989', 'dd-mm-yyyy'), '网络营销师', to_date('10-10-2012 00:24:11', 'dd-mm-yyyy hh24:mi:ss'), 9749.45, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1091, '郝方方', '110101198605165580', '', to_date('16-05-1986', 'dd-mm-yyyy'), '运维工程师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 5944.72, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1092, '赵利萍', '110101196712063564', '', to_date('06-12-1967', 'dd-mm-yyyy'), '岗位分析师', to_date('01-08-2006 17:26:08', 'dd-mm-yyyy hh24:mi:ss'), 4575.09, 30, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1093, '杨联星', '110101195312284013', '', to_date('28-12-1953', 'dd-mm-yyyy'), '考试专员', to_date('27-10-2009 08:41:47', 'dd-mm-yyyy hh24:mi:ss'), 24545.93, 40, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1094, '冯焕', '110101194205093524', '', to_date('09-05-1942', 'dd-mm-yyyy'), '运维工程师', to_date('27-09-2010 18:25:55', 'dd-mm-yyyy hh24:mi:ss'), 21391.42, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1096, '杨晓雨', '110101198910070043', '', to_date('07-10-1989', 'dd-mm-yyyy'), '营销专员', to_date('07-08-2013 05:49:14', 'dd-mm-yyyy hh24:mi:ss'), 4161.31, 20, null, 2322.00);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1097, '柴帅友', '110101198510254038', '', to_date('25-10-1985', 'dd-mm-yyyy'), '网络营销师', to_date('24-11-2011 16:08:38', 'dd-mm-yyyy hh24:mi:ss'), 7805.94, 50, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1098, '韩国强', '110101621016003   ', '', to_date('16-10-1962', 'dd-mm-yyyy'), '研发', to_date('01-09-2007 12:30:52', 'dd-mm-yyyy hh24:mi:ss'), 13755.87, null, null, null);

insert into TEACHER (TNO, TNAME, TID, GENDAR, BIRTHDATE, JOB, HIREDATE, SAL, DEPTNO, MGRNO, COMM)
values (1099, '王参妮', '11010119490831352X', '', to_date('31-08-1949', 'dd-mm-yyyy'), '岗位分析师', to_date('11-10-2005 13:17:18', 'dd-mm-yyyy hh24:mi:ss'), 26627.94, 30, null, null);

commit;
查询所需基础表和数据
 1 --cmd模式导入SQL语句
 2 --01、sqlplus 用户名/密码
 3 --02、@  SQL语句的地址
 4 
 5 --01、查询老师的姓名和对应导师的姓名,使用自连接
 6 select t1.tname as 老师姓名,t2.tname as 导师姓名
 7 from teacher t1,teacher t2
 8 where t1.mgrno=t2.tno;
 9 
10 --02、查询老师姓名、部门名称和部门编号
11 select tname,dname,dept.deptno 
12 from teacher,dept
13 where teacher.deptno=dept.deptno;
14 
15 --03、查询姓  王  的老师信息  _代表一个字符 %代表0-n个
16 select * from teacher 
17 where tname like '王%';
18 select * from teacher 
19 where tname like '王_';
20 
21 --04、查询陈老师和王老师的薪水和姓名
22 select tname,sal
23 from teacher
24 where tname like '陈%' or tname like '王%';
25 
26 --05、给所有姓王的老师增加薪水
27 update teacher set sal=sal+10000
28 where tname like '王%';
29 
30 --06、删除所有的teacher表中的数据!表结构还在
31 delete from teacher;
32 
33 --07、删除表,包含数据和结构
34 drop table dept;
35 
36 --08、建立外键约束
37 alter table teacher 
38 add constraint fk_dept_teacher_deptno
39 foreign key(deptno) references dept(deptno);
40 
41 --09、查询女性老师的姓名和编号
42 select tno,tname 
43 from teacher 
44 where gendar='';
45 
46 --10、查询薪水在10K-20K之间的老师编号,姓名和薪水
47 select tno,tname,sal
48 from teacher
49 where sal between 10000 and 20000;
50 
51 --11、查询职位是讲师或者研发的老师姓名,按照薪水的降序排列
52 select tno,tname,sal 
53 from teacher
54 where job in('讲师','研发')
55 order by sal desc;
56 
57 --12、查询部门所有数据的insert语句
58 select 'insert into dept 
59 values('||deptno||','''||dname||''','''||loc||''');'
60 from dept;
基本查询
--子查询 查询的结果集当作另一个查询语句的表

--01、查询招生部所有男老师的姓名
select tname,deptno from teacher
where deptno = (select deptno from dept where dname = '招生部') 
and gendar='';

--02、查询老师姓名和对应的部门名称
select tname ,(select dname from dept where dept.deptno = teacher.deptno) as dname
from teacher;

--03、查询在招生部以及人力部门的老师信息
select * from teacher 
where deptno in (select deptno from dept where dname in ('招生部','人力部'));

--SQL优化:使用exists代替in,使用not exists代替not in
--exists并不是返回一个结果集,而是返回true or false
select * from teacher 
where exists (select deptno from dept where deptno = teacher.deptno
 and dname in('招生部','人力部'));
子查询
--01、使用内连接查询招生部门所有男老师姓名
select tname,dname 
from teacher t inner join dept d
on t.deptno = d.deptno
where gendar = '' and dname = '招生部';

--02、使用自连接查询老师的姓名和导师的姓名
select t1.tname 老师姓名,t2.tname 导师姓名
from teacher t1 , teacher t2
where t1.mgrno=t2.tno;

--03、使用左外连接查询老师的姓名,对应的导师姓名以及部门
select t1.tname 老师姓名,t2.tname 导师姓名,d.dname 部门名称
from teacher t1 left join teacher t2
on t1.mgrno = t2.tno
left join dept d
on t1.deptno = d.deptno;

--04、右外连接
select * from teacher t 
right join dept d 
on t.deptno = d.deptno; 
连接查询
--01、substr()  字符串的截取  从第1个位置查询到第3个位置结束
SELECT SUBSTR('hello',1,3) FROM dual;
--从第一个位置查询之后的所有
SELECT SUBSTR('hello',1) FROM dual;

--02、instr() 查询字符在某个字符串中的下标!初始从1开始,没找到返回0
SELECT INSTR('world','r') FROM dual;

--03、to_char() 把日期转换成指定格式的字符串  hh24表示24小时制
SELECT to_char(SYSDATE,'yyyy-MM-dd hh24:mi:ss') FROM dual;

--04、to_date()把字符串转换成指定格式的日期
SELECT to_date('2017-06-14 20:28:45','yyyy-MM-dd hh24:mi:ss') FROM dual;

--05、nvl(e1,e2) e1代表列名,e2替换空的值
--如果e1为空则返回e2,如果不为空则返回当前值
SELECT NVL(mgrno,500) FROM teacher;

--06、nvl2(e1,e2,e3) 如果e1为空返回e3,e1不为空返回e2
SELECT NVL2(mgrno,10000,500) FROM teacher;

--07、decode(value,if1,then1,if2,then2...,else)
--如果value的值等于if1,返回then1,
--如果value的值等于if2,返回then2,
--如果value的值不等于任何if,返回else,
SELECT DECODE(mgrno,NULL,0,1008,5000,1) FROM teacher;
字符串、日期、条件函数
--查询总记录数 count(1)代替count(*)能提高查询效率
SELECT COUNT(1) FROM teacher;

--查询薪水总和
SELECT SUM(sal) FROM teacher;

--查询最高薪水
SELECT MAX(sal) FROM teacher;

--查询最低薪水
SELECT MIN(sal) FROM teacher;

--查询平均薪水
SELECT AVG(sal) FROM teacher;

--查询各个部门的编号,薪水(平均,最高,总和)
--按照部门的总薪水进行 降序排列
--部门人数在10人以上
SELECT deptno,AVG(sal),MAX(sal),SUM(sal)
FROM teacher
GROUP BY deptno
HAVING COUNT(deptno)>10
ORDER BY SUM(sal) DESC;

--查询部门编号为空的teacher人数
SELECT COUNT(1) FROM teacher 
WHERE deptno IS NULL;
聚合函数
--rank() 具有相等值的,排位相同,但是之后的排名跳跃
SELECT sal,tname,RANK() 
OVER(ORDER BY sal) 薪水排名
FROM teacher;

--dense_rank() 具有等值的,排位相同,之后的排名连续
SELECT sal,tname,dense_rank() 
OVER(ORDER BY sal) 薪水排名
FROM teacher;

--row_number() 不管值是否相等,排名都是连续的
SELECT sal,tname,
row_number() OVER(ORDER BY sal) 薪水排名
FROM teacher;

--查询各个部门(按照部门查询)的教师薪水,降序排列
--partition by deptno 按照部门进行分组
-- rank()/dense_rank()/row_number() 
-- over(partition by 分组字段 order by 排序字段 desc/asc)
SELECT deptno,tname,sal,
RANK() OVER(PARTITION BY deptno ORDER BY sal DESC) 薪水排名
FROM teacher;
分析函数
--union 并集(两个结果集中所有的数据) 重复数据显示一次
SELECT tno FROM teacher WHERE tno<1020
UNION
SELECT tno FROM teacher WHERE tno<1025;

--union all并集(两个结果集中所有的数据) 重复数据显示多次
SELECT tno FROM teacher WHERE tno<1020
UNION ALL
SELECT tno FROM teacher WHERE tno<1025;

--intersect 交集 (取两个结果集中公共的部分)
SELECT tno FROM teacher WHERE tno<1020
INTERSECT
SELECT tno FROM teacher WHERE tno<1025;

--补集 minus  eg:a>b,取a-b
SELECT tno FROM teacher WHERE tno<1025
MINUS
SELECT tno FROM teacher WHERE tno<1020;

--伪列:没有存储在真正的表中,但是可以在表中查询,不能进行增删改操作
--rowid:表中行的存储地址!A-Za-z0-9+/ 第二位变成B 以此类推
SELECT ROWID FROM teacher;
SELECT ROWID,tname FROM teacher
WHERE ROWID='AAASJgAAHAAAACVABJ';

--rownum:查询返回结果集中行的编号!可以作为分页使用
--rownum只能对=1或者<n进行操作!
--对于>n这种结果的查询:
--01、建立临时表
--02、让伪列rownum成为临时表中真正的列
--03、使用伪列的别名进行操作

--查询教师表中 ,薪水最高的前5名
SELECT tname,ROWNUM ,sal
FROM (SELECT * FROM teacher ORDER BY sal DESC) 
WHERE ROWNUM<6;

--查询教师表中薪水第5名的
SELECT * FROM 
(SELECT t.*,dense_rank()
OVER(ORDER BY t.sal DESC) ranks
FROM teacher t)
WHERE ranks=5;

--查询薪水在6-10名信息
--01、使用分析函数
SELECT * FROM 
(SELECT t.*,rank() 
OVER(ORDER BY sal DESC) ranks FROM teacher t)
WHERE ranks>5 AND ranks<11;
--02、三层嵌套
SELECT * FROM
(SELECT t.*,ROWNUM rw FROM
(SELECT * FROM teacher ORDER BY sal DESC) t)
WHERE rw>5 AND rw<11;
联合查询
--如果没有权限创建,使用sysdba授权
--grant create any view to 用户;

--创建或替换视图
CREATE OR REPLACE VIEW teacher_view
AS 
SELECT tname,sal FROM teacher;

--查询视图
SELECT * FROM teacher_view;
视图
--事务控制
INSERT INTO stuinfo VALUES(100,'小白1',100);
INSERT INTO stuinfo VALUES(200,'小白2',200);
SAVEPOINT a;--设置回滚点
INSERT INTO stuinfo VALUES(300,'小白3',300);
ROLLBACK TO SAVEPOINT a;--rollback到指定的回滚点
SELECT * FROM stuinfo;
ROLLBACK;--回滚到当前事务执行之前
SELECT * FROM stuinfo;
事务控制

 

posted @ 2017-06-22 21:34  羽哲  阅读(301)  评论(0编辑  收藏  举报