> 文档中心 > 【Oracle实验 实验5 SQL语句应用】

【Oracle实验 实验5 SQL语句应用】

实验5  SQL语句应用

1 实验目的

  1. 掌握数据的插入、修改和删除操作。
  2. 掌握不同类型的数据查询操作。

2 实验要求

  1. 利用SQL语句对图书销售系统表进行插入、修改、删除和查询操作。

3 实验步骤

(1)以bs用户登录BOOKSALES数据库,将表1至表6中的数据插入到数据库的相应表中。 

        CUSTOMERS:

        insert into customers values(seq_customers.nextval,'王牧','83823422','Wangmu@snia.com',' 北京','110010');

        insert into customers values(seq_customers.nextval,'李青','83824566','Liqing@snia.com','大连','116023');

        PUBLISHERS:

        insert into publishers values(1,'电子工业出版社','张芳','56231234');

        insert into publishers values(2,'机械工业出版社','孙翔','89673456');

        ORDERS:

        insert into orders values(SEQ_ORDERS.nextval,1,to_date(TO_CHAR('2019-02-01'),'YYYY-MM-DD'),to_dat e(TO_CHAR('2019-02-05'),'YYYY-MM-DD'),'大连','116023');

        insert into orders values(SEQ_ORDERS.nextval,2,to_date(TO_CHAR('2019-03-01'),'YYYY-MM-DD'),to_dat e(TO_CHAR('2019-03-10'),'YYYY-MM-DD'),'大连','116023');

        ORDERITEM:

        insert into orderitem values(1000,1,'978-7-121-18619-8',5);

(2)将ISBN为978-7-121-18619-8的图书的零售价格(retail)修改为30。

        UPDATE BOOKS

        SET RETRIL=30 WHERE ISBN='978-7-121-18619-8';

(3)将订单号为1000的订单的发货日期修改为“2013-2-2”。     

        UPDATE ORDERS

        SET SHIPDATE=to_date(TO_CHAR('2013-02-02'),'YYYY-MM-DD')

        WHERE ORDER_ID=1000;

(4)已知当前有一个图书表OLDPUBLISHERS,其表中数据如下:

publisher_id

name

contact

phone

1

电子工业出版社

李明

0531-86362790

2

机械工业出版社

孙浩

13786901456

3

人民邮电出版社

张春

3449876

4

传智播客

吴瑞

997990

请将表中的数据与PUBLISHERS中的数据进行合并。

        创建OLDPUBLISHERS:

        Create table OLDPUBLISHERS(

        publisher_id number(2) primary key,

        name VARCHAR2(50),

        contact char(10),

        phone VARCHAR2(50)

        )

        Tablespace BOOKTBS1;

        合并:

        Merge into publishers p using oldpublishers o

        on (p.publisher_id=o.publisher_id)

        When matched then update set

        p.name = o.name,p.contact = o.contact,p.phone= o.phone

        when not matched then insert

        Values (o.publisher_id,o.name,o.contact,o.phone);

        Select * From publishers;

(5)列出BOOKS表中有图书类型非空的图书书名。

        select title

        from books

        where category is not null;

(6)列出BOOKS表中每本书的书名和出版日期,对pubdate字段使用Publication Date列标题。

        select title,pubdate "PublicationDate"

        from books;

(7)列出CUSTOMERS表中每一个客户的客户号及他们所在的地址。

        select customer_id,address

        from customers;

(8)创建一个包含各个出版社的名称、联系人及出版社电话号码的列表。其中,联系人的列在显示的结果中重命名为Contact Person

        select name,contact "ContactPerson",phone

        from publishers;

(9)查询下达了订单的每一个客户的客户号。

        select customer_id

        from orders

        where order_id is not null;

(10)查询2013年3月1日之后发货的订单。

        select *

        from orders

        where shipdate > to_date('2013-3-1','yyyy-mm-dd');

(11)查询居住在北京或大连的客户,将结果按姓名的升序排列。

        select *

        from customers

        where address='大连' or address='北京'

        order by name;

(12)列出姓“王”的作者编写的所有图书信息,并将结果按姓名降序排序。

        select *

        from books

        where author like '王%'

        order by author;

(13)查询“儿童”类和“烹饪”类的所有图书。

        select *

        from books

        where category='儿童' or category='烹饪';

(14)查询书名的第二个字母是“A”、第四个字母是“N”的图书信息。

        select *

        from books

        where title like '_A_N%';

(15)查询电子工业出版社在2012年出版的所有“计算机”类图书的名称。

        select title

        from books

        where publisher_id=(

        select publisher_id

        from publishers

        where name='电子工业出版社')and extract(year from pubdate)='2012'

        and category='计 算机';

(16)查询图书名称、出版社名称、出版社联系人的名称和电话号码。

        select title,name,contact,phone

        from books,publishers

        where books.publisher_id=publishers.publisher_id;

(17)查询当前还没有发货的订单信息及下达订单的用户名,查询结果按下达订单日期排序。

        select order_id,customers.name,orderdate,shipdate,shipaddress,shipcode

        from customers,orders

        where customers.customer_id=orders.customer_id and

        shipdate>=to_date('2022-05-05','yyyy-mm-dd')order by orderdate;

(18)查询已经购买了“计算机”类图书的所有人的客户号和姓名。

        select customers.customer_id,customers.name

        from customers,orders,orderitem,books

        where customers.customer_id = orders.customer_id

        and orders.order_id=orderitem.order_id and

        orderitem.isbn=books.isbn and books.category='计算机';

(19)查询“王牧”购买的图书的ISBN以及书名。

        select books.isbn,books.title

        from books,customers,orders,orderitem

        where

        customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and

        orderitem.isbn=books.isbn and customers.name='王牧';

(20)查询订购图书“Oracle数据库基础”的客户将收到什么样的礼品。

        Select name

        from promotion

        Where(

        select quantity*books.retril

        from customers,books,orders,orderitem

        where

        customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and

        orderitem.isbn=books.isbn and books.title='Oracle'

        ) >promotion.minretail;

(21)确定客户“张扬”订购的图书的作者。

        select books.author

        from books,orderitem,orders,customers

        where books.isbn=orderitem.isbn

        and orderitem.order_id=orders.order_id

        and  orders.customer_id=customers.customer_id  

        and customers.name='张扬';

(22)查询CUSTOMERS表中的每一个客户所下达的订单数量。

        订单数量:

        select customers.customer_id,customers.name,count(orders.order_id) as orders_count

        from customers,orders

        where customers.customer_id=orders.customer_id

        group by customers.customer_id,customers.name;

        图书数量:

        select customers.customer_id,customers.name,books.title,orderitem.quantity

        from customers,orders,books,orderitem where

        customers.customer_id=orders.customer_id and

        orders.order_id=orderitem.order_id and orderitem.isbn=books.isbn;

(23)查询价格低于同一种类图书平均价格的图书的信息。

        价格低于同一种类图书平均价格的图书:

        select *

        from books b1

        where b1.retril<(select avg(b2.retril)

        From books b2

        where b1.category=b2.category

        );

        价格低于所有种类图书平均价格的图书:

        select *

        from books

        where books.retril<(select avg(books.retril)

        From books

        );

(24)查询每个出版社出版图书的平均价格、最高价格、最低价格。

        select publishers.name,avg(books.cost),min(books.cost),max(books.cost)

        from books,publishers

        where books.publisher_id=publishers.publisher_id

        group by name;

(25)统计每个客户购买图书的数量及总价钱。

        select customers.name,sum(quantity),sum(quantity*books.retril)

        from customers,books,orders,orderitem

        where

        customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and

        orderitem.isbn=books.isbn group by customers.name;

(26)查询比1000号订单中图书数量多的其他订单信息。

        select order_id,sum(quantity)

        from orderitem

         group by order_id

        having sum(quantity) > (select sum(quantity)

        from orderitem g

        roup by order_id

        having order_id=1000);

(27)查询所有客户及其订购图书的信息。

        select *

        from customers,orders,books,orderitem

        where

        customers.customer_id=orders.customer_id and

        orders.order_id=orderitem.order_id and orderitem.isbn=books.isbn;

(28)查询没有订购任何图书的客户信息。

        select customers.customer_id

        from customers,orders,orderitem

        where

        customers.customer_id=orders.customer_id

        and orders.order_id=orderitem.order_id and orders.order_id is null;

(29)查询订购金额最高的客户信息。

        select *

        from

        (select customers.customer_id,sum(quantity),sum(quantity*books.retril)as cost_total

        from customers,books,orders,orderitem

        where

        customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and

        orderitem.isbn=books.isbn group by customers.customer_id

        order by cost_total desc

        )max1,customers

        where rownum < 2;

        或:

        select customers.customer_id,customers.name,customers.address,

        customers.phone,customers.email,customers.code

        from

        (select customers.customer_id,sum(quantity),sum(quantity*books.retril)as cost_total

        from customers,books,orders,orderitem

        where

        customers.customer_id=orders.customer_id and orders.order_id=orderitem.order_id and

        orderitem.isbn=books.isbn group by customers.customer_id

        order by cost_total desc

        )max1,customers

        where  rownum < 2;

(30)查询名为“赵敏”的客户订购图书的订单信息、订单明细。

        select *

        from customers,orders

        where orders.customer_id = customers.customer_id and customers.name='赵敏';

(31)完成课本P142页实训题中的偶数题目。

        创建所需表及插入所需数据:

        CREATE TABLE regions

        ( region_id NUMBER PRIMARY KEY,

        region_name VARCHAR2(25)

        )

        TABLESPACE USERS;

        --创建COUNTRIES表

        PROMPT

        PROMPT 创建COUNTRIES表......

        CREATE TABLE countries

        ( country_id CHAR(2) PRIMARY KEY,

          country_name VARCHAR2(40),

          region_id NUMBER REFERENCES regions(region_id)

        )

         ORGANIZATION INDEX

          TABLESPACE USERS;

        --创建LOCATIONS表

        PROMPT

        PROMPT 创建LOCATIONS表......

        CREATE TABLE locations

        ( location_id NUMBER(4) PRIMARY KEY,

          street_address VARCHAR2(40),

           postal_code VARCHAR2(12),

          city VARCHAR2(30) NOT NULL,

          state_province VARCHAR2(25),

          country_id CHAR(2)  REFERENCES countries(country_id)

        )

         TABLESPACE USERS;

        --创建DEPARTMENTS表

        PROMPT

        PROMPT 创建DEPARTMENTS表......

        CREATE TABLE departments

        ( department_id NUMBER(4) PRIMARY KEY,

          department_name VARCHAR2(30) NOT NULL,

          manager_id NUMBER(6) ,

          location_id NUMBER(4) REFERENCES locations (location_id)

        )

         TABLESPACE USERS;

        --创建JOBS表

        PROMPT

        PROMPT 创建JOBS表......

        CREATE TABLE jobs

        ( job_id VARCHAR2(10) PRIMARY KEY,

          job_title VARCHAR2(35) NOT NULL,

          min_salary NUMBER(6),

          max_salary NUMBER(6)

        )

         TABLESPACE USERS;

        --创建EMPLOYEES表

        PROMPT

        PROMPT 创建EMPLOYEES表......

        CREATE TABLE employees

        ( employee_id NUMBER(6) PRIMARY KEY,

          first_name VARCHAR2(20),

          last_name VARCHAR2(25) NOT NULL,

          email VARCHAR2(25) NOT NULL UNIQUE,

          phone_number VARCHAR2(20),

          hire_date DATE NOT NULL,

          job_id VARCHAR2(10) NOT NULL REFERENCES jobs (job_id),

          salary NUMBER(8,2) CHECK (salary > 0),

          commission_pct NUMBER(2,2),

          manager_id NUMBER(6),

          department_id NUMBER(4) REFERENCES departments(department_id)

        )

         TABLESPACE USERS;

        --创建JOB_HISTORY表

        PROMPT

        PROMPT 创建JOB_HISTORY表......

        CREATE TABLE job_history

        ( employee_id NUMBER(6) NOT NULL REFERENCES employees(employee_id),

          start_date DATE NOT NULL,

          end_date DATE NOT NULL,

          job_id VARCHAR2(10) NOT NULL REFERENCES jobs(job_id),

          department_id NUMBER(4) REFERENCES departments(department_id),

          CONSTRAINT jhist_date_interval CHECK (end_date > start_date),

          CONSTRAINT jhist_emp_id_st_date_pk PRIMARY KEY (employee_id, start_date)

        )

         TABLESPACE USERS;

        --创建SAL_GRADES表

        PROMPT

        PROMPT 创建SAL_GRADES表......

        CREATE TABLE sal_grades

        (grade  NUMBER PRIMARY KEY,

        min_salary  NUMBER(8,2),

        max_salary  NUMBER(8,2)

        )

        TABLESPACE USERS;

        --创建MANAGER表

        PROMPT

        PROMPT 创建MANAGER表......

        CREATE TABLE managers(

        manager_id NUMBER(2)PRIMARY KEY,

        manager_name CHAR(20),

        password  VARCHAR2(20) NOT NULL

        )

        TABLESPACE USERS;

        --为departments表的manager_id列添加外键约束

        PROMPT

        PROMPT 添加外键约束......

        ALTER TABLE departments ADD CONSTRAINT dept_mgr_fk FOREIGN KEY(manager_id)         references employees(employee_id) DISABLE;

        --为employees表的manager_id列添加外键约束

        ALTER TABLE employees ADD CONSTRAINT emp_mgr_fk FOREIGN KEY(manager_id)         references employees(employee_id) DISABLE;

        插入数据:

        Prompt ******  Populating REGIONS table ....

        INSERT INTO regions VALUES (1, 'Europe');

        INSERT INTO regions VALUES (2, 'Americas');

        INSERT INTO regions VALUES (3, 'Asia');

        INSERT INTO regions VALUES (4, 'Middle East and Africa');

        Prompt ******  Populating COUNTIRES table ....

        INSERT INTO countries VALUES( 'IT', 'Italy',1);

        INSERT INTO countries VALUES( 'JP', 'Japan',3);

        INSERT INTO countries VALUES( 'US', 'United States of America',2);

        INSERT INTO countries VALUES( 'CA', 'Canada',2);

        INSERT INTO countries VALUES( 'CN', 'China',3);

        INSERT INTO countries VALUES( 'IN', 'India',3);

        INSERT INTO countries VALUES( 'AU', 'Australia',3);

        INSERT INTO countries VALUES( 'ZW', 'Zimbabwe',4);

        INSERT INTO countries VALUES( 'SG', 'Singapore',3);

        INSERT INTO countries VALUES( 'UK', 'United Kingdom',1);

        INSERT INTO countries VALUES( 'FR', 'France',1);

        INSERT INTO countries VALUES( 'DE', 'Germany',1);

        INSERT INTO countries VALUES( 'ZM', 'Zambia', 4);

        INSERT INTO countries VALUES( 'EG', 'Egypt', 4);

        INSERT INTO countries VALUES( 'BR', 'Brazil', 2);

        INSERT INTO countries VALUES( 'CH', 'Switzerland', 1);

        INSERT INTO countries VALUES( 'NL', 'Netherlands', 1);

        INSERT INTO countries VALUES( 'MX', 'Mexico', 2);

        INSERT INTO countries VALUES( 'KW', 'Kuwait', 4);

        INSERT INTO countries VALUES( 'IL', 'Israel', 4);

        INSERT INTO countries VALUES( 'DK', 'Denmark', 1);

        INSERT INTO countries VALUES( 'HK', 'HongKong', 3);

        INSERT INTO countries VALUES( 'NG', 'Nigeria' , 4);

        INSERT INTO countries VALUES( 'AR', 'Argentina', 2);

        INSERT INTO countries VALUES( 'BE', 'Belgium', 1);

        

        Prompt ******  Populating LOCATIONS table ....

        INSERT INTO locations VALUES( locations_seq.nextval, '1297 Via Cola di Rie','00989', 'Roma', NULL, 'IT');

        INSERT INTO locations VALUES( locations_seq.nextval, '93091 Calle della Testa','10934', 'Venice', NULL, 'IT');

        INSERT INTO locations VALUES( locations_seq.nextval, '2017 Shinjuku-ku', '1689','Tokyo', 'Tokyo Prefecture', 'JP');

        INSERT INTO locations VALUES( locations_seq.nextval, '9450 Kamiya-cho', '6823', 'Hiroshima', NULL, 'JP');

        INSERT INTO locations VALUES( locations_seq.nextval, '2014 Jabberwocky Rd', '26192', 'Southlake', 'Texas', 'US');

        INSERT INTO locations VALUES( locations_seq.nextval, '2011 Interiors Blvd', '99236', 'South San Francisco', 'California', 'US');

        INSERT INTO locations VALUES( locations_seq.nextval, '2007 Zagora St', '50090', 'South Brunswick', 'New Jersey', 'US');

        INSERT INTO locations VALUES( locations_seq.nextval, '2004 Charade Rd', '98199', 'Seattle', 'Washington', 'US');

        INSERT INTO locations VALUES( locations_seq.nextval, '147 Spadina Ave', 'M5V 2L7', 'Toronto', 'Ontario', 'CA');

        INSERT INTO locations VALUES( locations_seq.nextval, '6092 Boxwood St', 'YSW 9T2', 'Whitehorse', 'Yukon', 'CA');

        INSERT INTO locations VALUES( locations_seq.nextval, '40-5-12 Laogianggen', '190518', 'Beijing', NULL, 'CN');

        INSERT INTO locations VALUES( locations_seq.nextval, '1298 Vileparle (E)', '490231', 'Bombay', 'Maharashtra', 'IN');

        INSERT INTO locations VALUES( locations_seq.nextval, '12-98 Victoria Street', '2901', 'Sydney', 'New South Wales', 'AU');

        INSERT INTO locations VALUES( locations_seq.nextval, '198 Clementi North', '540198', 'Singapore', NULL, 'SG');

        INSERT INTO locations VALUES( locations_seq.nextval, '8204 Arthur St', NULL, 'London', NULL, 'UK');

        INSERT INTO locations VALUES( locations_seq.nextval, 'Magdalen Centre, The Oxford Science Park', 'OX9 9ZB', 'Oxford', 'Oxford', 'UK');

        INSERT INTO locations VALUES( locations_seq.nextval, '9702 Chester Road', '09629850293', 'Stretford', 'Manchester', 'UK');

        INSERT INTO locations VALUES( locations_seq.nextval, 'Schwanthalerstr. 7031', '80925', 'Munich', 'Bavaria', 'DE');

        INSERT INTO locations VALUES( locations_seq.nextval, 'Rua Frei Caneca 1360 ', '01307-002', 'Sao Paulo', 'Sao Paulo', 'BR');

        INSERT INTO locations VALUES( locations_seq.nextval, '20 Rue des Corps-Saints', '1730', 'Geneva', 'Geneve', 'CH');

        INSERT INTO locations VALUES( locations_seq.nextval, 'Murtenstrasse 921', '3095', 'Bern', 'BE', 'CH');

        INSERT INTO locations VALUES( locations_seq.nextval, 'Pieter Breughelstraat 837', '3029SK', 'Utrecht', 'Utrecht', 'NL');

        INSERT INTO locations VALUES( locations_seq.nextval, 'Mariano Escobedo 9991', '11932', 'Mexico City', 'Distrito Federal,', 'MX');

        Prompt ******  Populating DEPARTMENTS table ....

        INSERT INTO departments VALUES(departments_seq.nextval, 'Administration', 201, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Marketing', 201, 1800);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Purchasing', 114, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Human Resources', 203, 2400);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Shipping', 121, 1500);

        INSERT INTO departments VALUES(departments_seq.nextval, 'IT', 103, 1400);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Public Relations', 204, 2700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Sales', 145, 2500);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Executive', 101, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Finance', 108, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Accounting', 205, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Treasury', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Corporate Tax', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Control And Credit', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Shareholder Services', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Benefits', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Manufacturing', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Construction', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Contracting', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Operations', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'IT Support', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'NOC', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'IT Helpdesk', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Government Sales', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Retail Sales', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Recruiting', NULL, 1700);

        INSERT INTO departments VALUES(departments_seq.nextval, 'Payroll', NULL, 1700);

        Prompt ******  Populating JOBS table ....

        INSERT INTO jobs VALUES( 'AD_PRES', 'President', 20000, 40000);

        INSERT INTO jobs VALUES( 'AD_VP', 'Administration Vice President', 15000, 30000);

        INSERT INTO jobs VALUES( 'AD_ASST', 'Administration Assistant', 3000, 6000);

        INSERT INTO jobs VALUES( 'FI_MGR', 'Finance Manager', 8200, 16000);

        INSERT INTO jobs VALUES( 'FI_ACCOUNT', 'Accountant', 4200, 9000);

        INSERT INTO jobs VALUES( 'AC_MGR', 'Accounting Manager', 8200, 16000);

        INSERT INTO jobs VALUES( 'AC_ACCOUNT', 'Public Accountant', 4200, 9000);

        INSERT INTO jobs VALUES( 'SA_MAN', 'Sales Manager', 10000, 20000);

        INSERT INTO jobs VALUES( 'SA_REP', 'Sales Representative', 6000, 12000);

        INSERT INTO jobs VALUES( 'PU_MAN', 'Purchasing Manager', 8000, 15000);

        INSERT INTO jobs VALUES( 'PU_CLERK', 'Purchasing Clerk', 2500, 5500);

        INSERT INTO jobs VALUES( 'ST_MAN', 'Stock Manager', 5500, 8500);

        INSERT INTO jobs VALUES( 'ST_CLERK', 'Stock Clerk', 2000, 5000);

        INSERT INTO jobs VALUES( 'SH_CLERK', 'Shipping Clerk', 2500, 5500);

        INSERT INTO jobs VALUES( 'IT_PROG', 'Programmer', 4000, 10000);

        INSERT INTO jobs VALUES( 'MK_MAN', 'Marketing Manager', 9000, 15000);

        INSERT INTO jobs VALUES( 'MK_REP', 'Marketing Representative', 4000, 9000);

        INSERT INTO jobs VALUES( 'HR_REP', 'Human Resources Representative', 4000, 9000);

        INSERT INTO jobs VALUES( 'PR_REP', 'Public Relations Representative', 4500, 10500);

        Prompt ******  Populating EMPLOYEES table ....

INSERT INTO employees VALUES( employees_seq.nextval, 'Steven', 'King', 'SKING', '515.123.4567', TO_DATE('17-JUN-1987', 'dd-MON-yyyy'),'AD_PRES', 24000, NULL, NULL, 90);

INSERT INTO employees VALUES( employees_seq.nextval, 'Neena', 'Kochhar', 'NKOCHHAR', '515.123.4568', TO_DATE('21-SEP-1989', 'dd-MON-yyyy'), 'AD_VP',17000, NULL, 100, 90);

INSERT INTO employees VALUES( employees_seq.nextval, 'Lex', 'De Haan', 'LDEHAAN', '515.123.4569', TO_DATE('13-JAN-1993', 'dd-MON-yyyy'), 'AD_VP', 17000, NULL, 100, 90);

INSERT INTO employees VALUES( employees_seq.nextval, 'Alexander', 'Hunold', 'AHUNOLD', '590.423.4567', TO_DATE('03-JAN-1990', 'dd-MON-yyyy'), 'IT_PROG', 9000, NULL, 102, 60);

INSERT INTO employees VALUES( employees_seq.nextval, 'Bruce', 'Ernst', 'BERNST', '590.423.4568', TO_DATE('21-MAY-1991', 'dd-MON-yyyy'), 'IT_PROG',6000, NULL, 103, 60);

INSERT INTO employees VALUES( employees_seq.nextval, 'David', 'Austin', 'DAUSTIN', '590.423.4569', TO_DATE('25-JUN-1997', 'dd-MON-yyyy'), 'IT_PROG', 4800, NULL, 103, 60);

INSERT INTO employees VALUES( employees_seq.nextval, 'Valli', 'Pataballa', 'VPATABAL', '590.423.4560', TO_DATE('05-FEB-1998', 'dd-MON-yyyy'), 'IT_PROG', 4800, NULL, 103, 60);

INSERT INTO employees VALUES( employees_seq.nextval, 'Diana', 'Lorentz', 'DLORENTZ', '590.423.5567', TO_DATE('07-FEB-1999', 'dd-MON-yyyy'), 'IT_PROG', 4200, NULL, 103, 60);

INSERT INTO employees VALUES( employees_seq.nextval, 'Nancy', 'Greenberg', 'NGREENBE', '515.124.4569', TO_DATE('17-AUG-1994', 'dd-MON-yyyy'), 'FI_MGR', 12000, NULL, 101, 100);

INSERT INTO employees VALUES( employees_seq.nextval, 'Daniel', 'Faviet', 'DFAVIET', '515.124.4169', TO_DATE('16-AUG-1994', 'dd-MON-yyyy'), 'FI_ACCOUNT',9000, NULL, 108, 100);

INSERT INTO employees VALUES( employees_seq.nextval, 'John', 'Chen', 'JCHEN', '515.124.4269', TO_DATE('28-SEP-1997', 'dd-MON-yyyy'), 'FI_ACCOUNT', 8200, NULL, 108, 100);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Ismael', 'Sciarra', 'ISCIARRA', '515.124.4369', TO_DATE('30-SEP-1997', 'dd-MON-yyyy'), 'FI_ACCOUNT', 7700, NULL, 108, 100);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Jose Manuel', 'Urman', 'JMURMAN', '515.124.4469', TO_DATE('07-MAR-1998', 'dd-MON-yyyy'), 'FI_ACCOUNT', 7800, NULL, 108, 100);

INSERT INTO employees VALUES( employees_seq.nextval, 'Luis', 'Popp', 'LPOPP', '515.124.4567', TO_DATE('07-DEC-1999', 'dd-MON-yyyy'), 'FI_ACCOUNT', 6900, NULL, 108, 100);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Den', 'Raphaely', 'DRAPHEAL', '515.127.4561', TO_DATE('07-DEC-1994', 'dd-MON-yyyy'), 'PU_MAN', 11000, NULL, 100, 30);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Alexander', 'Khoo', 'AKHOO', '515.127.4562', TO_DATE('18-MAY-1995', 'dd-MON-yyyy'), 'PU_CLERK',3100, NULL, 114, 30);

INSERT INTO employees VALUES( employees_seq.nextval, 'Shelli', 'Baida', 'SBAIDA', '515.127.4563', TO_DATE('24-DEC-1997', 'dd-MON-yyyy'), 'PU_CLERK', 2900, NULL, 114, 30);

INSERT INTO employees VALUES( employees_seq.nextval, 'Sigal', 'Tobias', 'STOBIAS', '515.127.4564', TO_DATE('24-JUL-1997', 'dd-MON-yyyy'), 'PU_CLERK',2800, NULL, 114, 30);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Guy', 'Himuro', 'GHIMURO', '515.127.4565', TO_DATE('15-NOV-1998', 'dd-MON-yyyy'), 'PU_CLERK', 2600, NULL, 114, 30);

INSERT INTO employees VALUES( employees_seq.nextval, 'Karen', 'Colmenares', 'KCOLMENA', '515.127.4566', TO_DATE('10-AUG-1999', 'dd-MON-yyyy'), 'PU_CLERK', 2500, NULL, 114, 30);

INSERT INTO employees VALUES( employees_seq.nextval, 'Matthew', 'Weiss', 'MWEISS', '650.123.1234', TO_DATE('18-JUL-1996', 'dd-MON-yyyy'), 'ST_MAN', 8000, NULL, 100, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Adam', 'Fripp', 'AFRIPP', '650.123.2234', TO_DATE('10-APR-1997', 'dd-MON-yyyy'), 'ST_MAN', 8200, NULL, 100, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Payam', 'Kaufling', 'PKAUFLIN', '650.123.3234', TO_DATE('01-MAY-1995', 'dd-MON-yyyy'), 'ST_MAN', 7900, NULL, 100, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Shanta', 'Vollman', 'SVOLLMAN', '650.123.4234', TO_DATE('10-OCT-1997', 'dd-MON-yyyy'), 'ST_MAN', 6500, NULL, 100, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Kevin', 'Mourgos', 'KMOURGOS', '650.123.5234', TO_DATE('16-NOV-1999', 'dd-MON-yyyy'), 'ST_MAN', 5800, NULL, 100, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Julia', 'Nayer', 'JNAYER', '650.124.1214', TO_DATE('16-JUL-1997', 'dd-MON-yyyy'), 'ST_CLERK', 3200, NULL, 120, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Irene', 'Mikkilineni', 'IMIKKILI', '650.124.1224', TO_DATE('28-SEP-1998', 'dd-MON-yyyy'), 'ST_CLERK', 2700, NULL, 120, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'James', 'Landry', 'JLANDRY', '650.124.1334', TO_DATE('14-JAN-1999', 'dd-MON-yyyy'), 'ST_CLERK', 2400, NULL, 120, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Steven', 'Markle', 'SMARKLE', '650.124.1434', TO_DATE('08-MAR-2000', 'dd-MON-yyyy'), 'ST_CLERK', 2200, NULL, 120, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Laura', 'Bissot', 'LBISSOT', '650.124.5234', TO_DATE('20-AUG-1997', 'dd-MON-yyyy'), 'ST_CLERK', 3300, NULL, 121, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Mozhe', 'Atkinson', 'MATKINSO', '650.124.6234', TO_DATE('30-OCT-1997', 'dd-MON-yyyy'), 'ST_CLERK', 2800, NULL, 121, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'James', 'Marlow', 'JAMRLOW', '650.124.7234', TO_DATE('16-FEB-1997', 'dd-MON-yyyy'), 'ST_CLERK', 2500, NULL, 121, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'TJ', 'Olson', 'TJOLSON', '650.124.8234', TO_DATE('10-APR-1999', 'dd-MON-yyyy'), 'ST_CLERK', 2100, NULL, 121, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Jason', 'Mallin', 'JMALLIN', '650.127.1934', TO_DATE('14-JUN-1996', 'dd-MON-yyyy'), 'ST_CLERK', 3300, NULL, 122, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Michael', 'Rogers', 'MROGERS', '650.127.1834', TO_DATE('26-AUG-1998', 'dd-MON-yyyy'), 'ST_CLERK', 2900, NULL, 122, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Ki', 'Gee', 'KGEE', '650.127.1734', TO_DATE('12-DEC-1999', 'dd-MON-yyyy'), 'ST_CLERK', 2400, NULL, 122, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Hazel', 'Philtanker', 'HPHILTAN', '650.127.1634', TO_DATE('06-FEB-2000', 'dd-MON-yyyy'), 'ST_CLERK', 2200, NULL, 122, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Renske', 'Ladwig', 'RLADWIG', '650.121.1234', TO_DATE('14-JUL-1995', 'dd-MON-yyyy'), 'ST_CLERK', 3600, NULL, 123, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Stephen', 'Stiles', 'SSTILES', '650.121.2034', TO_DATE('26-OCT-1997', 'dd-MON-yyyy'), 'ST_CLERK', 3200, NULL, 123, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'John', 'Seo', 'JSEO', '650.121.2019', TO_DATE('12-FEB-1998', 'dd-MON-yyyy'), 'ST_CLERK', 2700, NULL, 123, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Joshua', 'Patel', 'JPATEL', '650.121.1834', TO_DATE('06-APR-1998', 'dd-MON-yyyy'), 'ST_CLERK', 2500, NULL, 123, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Trenna', 'Rajs', 'TRAJS', '650.121.8009', TO_DATE('17-OCT-1995', 'dd-MON-yyyy'), 'ST_CLERK', 3500, NULL, 124, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Curtis', 'Davies', 'CDAVIES', '650.121.2994', TO_DATE('29-JAN-1997', 'dd-MON-yyyy'), 'ST_CLERK', 3100, NULL, 124, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Randall', 'Matos', 'RMATOS', '650.121.2874', TO_DATE('15-MAR-1998', 'dd-MON-yyyy'), 'ST_CLERK', 2600, NULL, 124, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Peter', 'Vargas', 'PVARGAS', '650.121.2004', TO_DATE('09-JUL-1998', 'dd-MON-yyyy'), 'ST_CLERK', 2500, NULL, 124, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'John', 'Russell', 'JRUSSEL', '011.44.1344.429268', TO_DATE('01-OCT-1996', 'dd-MON-yyyy'), 'SA_MAN', 14000, .4, 100, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Karen', 'Partners', 'KPARTNER', '011.44.1344.467268', TO_DATE('05-JAN-1997', 'dd-MON-yyyy'), 'SA_MAN', 13500, .3, 100, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Alberto', 'Errazuriz', 'AERRAZUR', '011.44.1344.429278', TO_DATE('10-MAR-1997', 'dd-MON-yyyy'), 'SA_MAN', 12000, .3, 100, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Gerald', 'Cambrault', 'GCAMBRAU', '011.44.1344.619268', TO_DATE('15-OCT-1999', 'dd-MON-yyyy'), 'SA_MAN', 11000, .3, 100, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Eleni', 'Zlotkey', 'EZLOTKEY', '011.44.1344.429018', TO_DATE('29-JAN-2000', 'dd-MON-yyyy'), 'SA_MAN', 10500, .2, 100, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Peter', 'Tucker', 'PTUCKER', '011.44.1344.129268', TO_DATE('30-JAN-1997', 'dd-MON-yyyy'), 'SA_REP', 10000, .3, 145, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'David', 'Bernstein', 'DBERNSTE', '011.44.1344.345268', TO_DATE('24-MAR-1997', 'dd-MON-yyyy'), 'SA_REP', 9500, .25, 145, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Peter', 'Hall', 'PHALL', '011.44.1344.478968', TO_DATE('20-AUG-1997', 'dd-MON-yyyy'), 'SA_REP', 9000, .25, 145, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Christopher', 'Olsen', 'COLSEN', '011.44.1344.498718', TO_DATE('30-MAR-1998', 'dd-MON-yyyy'), 'SA_REP', 8000, .2, 145, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Nanette', 'Cambrault', 'NCAMBRAU', '011.44.1344.987668', TO_DATE('09-DEC-1998', 'dd-MON-yyyy'), 'SA_REP', 7500, .2, 145, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Oliver', 'Tuvault', 'OTUVAULT', '011.44.1344.486508', TO_DATE('23-NOV-1999', 'dd-MON-yyyy'), 'SA_REP', 7000, .15, 145, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Janette', 'King', 'JKING', '011.44.1345.429268', TO_DATE('30-JAN-1996', 'dd-MON-yyyy'), 'SA_REP', 10000, .35, 146, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Patrick', 'Sully', 'PSULLY', '011.44.1345.929268', TO_DATE('04-MAR-1996', 'dd-MON-yyyy'), 'SA_REP', 9500, .35, 146, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Allan', 'McEwen', 'AMCEWEN', '011.44.1345.829268', TO_DATE('01-AUG-1996', 'dd-MON-yyyy'), 'SA_REP', 9000, .35, 146, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Lindsey', 'Smith', 'LSMITH', '011.44.1345.729268', TO_DATE('10-MAR-1997', 'dd-MON-yyyy'), 'SA_REP', 8000, .3, 146, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Louise', 'Doran', 'LDORAN', '011.44.1345.629268', TO_DATE('15-DEC-1997', 'dd-MON-yyyy'), 'SA_REP', 7500, .3, 146, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Sarath', 'Sewall', 'SSEWALL', '011.44.1345.529268', TO_DATE('03-NOV-1998', 'dd-MON-yyyy'), 'SA_REP', 7000, .25, 146, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Clara', 'Vishney', 'CVISHNEY', '011.44.1346.129268', TO_DATE('11-NOV-1997', 'dd-MON-yyyy'), 'SA_REP', 10500, .25, 147, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Danielle', 'Greene', 'DGREENE', '011.44.1346.229268', TO_DATE('19-MAR-1999', 'dd-MON-yyyy'), 'SA_REP', 9500, .15, 147, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Mattea', 'Marvins', 'MMARVINS', '011.44.1346.329268', TO_DATE('24-JAN-2000', 'dd-MON-yyyy'), 'SA_REP', 7200, .10, 147, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'David', 'Lee', 'DLEE', '011.44.1346.529268', TO_DATE('23-FEB-2000', 'dd-MON-yyyy'), 'SA_REP', 6800, .1, 147, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Sundar', 'Ande', 'SANDE', '011.44.1346.629268', TO_DATE('24-MAR-2000', 'dd-MON-yyyy'), 'SA_REP', 6400, .10, 147, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Amit', 'Banda', 'ABANDA', '011.44.1346.729268', TO_DATE('21-APR-2000', 'dd-MON-yyyy'), 'SA_REP', 6200, .10, 147, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Lisa', 'Ozer', 'LOZER', '011.44.1343.929268', TO_DATE('11-MAR-1997', 'dd-MON-yyyy'), 'SA_REP', 11500, .25, 148, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Harrison', 'Bloom', 'HBLOOM', '011.44.1343.829268', TO_DATE('23-MAR-1998', 'dd-MON-yyyy'), 'SA_REP', 10000, .20, 148, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Tayler', 'Fox', 'TFOX', '011.44.1343.729268', TO_DATE('24-JAN-1998', 'dd-MON-yyyy'), 'SA_REP', 9600, .20, 148, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'William', 'Smith', 'WSMITH', '011.44.1343.629268', TO_DATE('23-FEB-1999', 'dd-MON-yyyy'), 'SA_REP', 7400, .15, 148, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Elizabeth', 'Bates', 'EBATES', '011.44.1343.529268', TO_DATE('24-MAR-1999', 'dd-MON-yyyy'), 'SA_REP', 7300, .15, 148, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Sundita', 'Kumar', 'SKUMAR', '011.44.1343.329268', TO_DATE('21-APR-2000', 'dd-MON-yyyy'), 'SA_REP', 6100, .10, 148, 80);

INSERT INTO employees VALUES( employees_seq.nextval, 'Ellen', 'Abel', 'EABEL', '011.44.1644.429267', TO_DATE('11-MAY-1996', 'dd-MON-yyyy'), 'SA_REP', 11000, .30, 149, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Alyssa', 'Hutton', 'AHUTTON', '011.44.1644.429266', TO_DATE('19-MAR-1997', 'dd-MON-yyyy'), 'SA_REP', 8800, .25, 149, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Jonathon', 'Taylor', 'JTAYLOR', '011.44.1644.429265', TO_DATE('24-MAR-1998', 'dd-MON-yyyy'), 'SA_REP', 8600, .20, 149, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Jack', 'Livingston', 'JLIVINGS', '011.44.1644.429264', TO_DATE('23-APR-1998', 'dd-MON-yyyy'), 'SA_REP', 8400, .20, 149, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Kimberely', 'Grant', 'KGRANT', '011.44.1644.429263', TO_DATE('24-MAY-1999', 'dd-MON-yyyy'), 'SA_REP', 7000, .15, 149, NULL);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Charles', 'Johnson', 'CJOHNSON', '011.44.1644.429262', TO_DATE('04-JAN-2000', 'dd-MON-yyyy'), 'SA_REP', 6200, .10, 149, 80);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Winston', 'Taylor', 'WTAYLOR', '650.507.9876', TO_DATE('24-JAN-1998', 'dd-MON-yyyy'), 'SH_CLERK', 3200, NULL, 120, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Jean', 'Fleaur', 'JFLEAUR', '650.507.9877', TO_DATE('23-FEB-1998', 'dd-MON-yyyy'), 'SH_CLERK', 3100, NULL, 120, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Martha', 'Sullivan', 'MSULLIVA', '650.507.9878', TO_DATE('21-JUN-1999', 'dd-MON-yyyy'), 'SH_CLERK', 2500, NULL, 120, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Girard', 'Geoni', 'GGEONI', '650.507.9879', TO_DATE('03-FEB-2000', 'dd-MON-yyyy'), 'SH_CLERK', 2800, NULL, 120, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Nandita', 'Sarchand', 'NSARCHAN', '650.509.1876', TO_DATE('27-JAN-1996', 'dd-MON-yyyy'), 'SH_CLERK', 4200, NULL, 121, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Alexis', 'Bull', 'ABULL', '650.509.2876', TO_DATE('20-FEB-1997', 'dd-MON-yyyy'), 'SH_CLERK', 4100, NULL, 121, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Julia', 'Dellinger', 'JDELLING', '650.509.3876', TO_DATE('24-JUN-1998', 'dd-MON-yyyy'), 'SH_CLERK', 3400, NULL, 121, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Anthony', 'Cabrio', 'ACABRIO', '650.509.4876', TO_DATE('07-FEB-1999', 'dd-MON-yyyy'), 'SH_CLERK', 3000, NULL, 121, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Kelly', 'Chung', 'KCHUNG', '650.505.1876', TO_DATE('14-JUN-1997', 'dd-MON-yyyy'), 'SH_CLERK', 3800, NULL, 122, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Jennifer', 'Dilly', 'JDILLY', '650.505.2876', TO_DATE('13-AUG-1997', 'dd-MON-yyyy'), 'SH_CLERK', 3600, NULL, 122, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Timothy', 'Gates', 'TGATES', '650.505.3876', TO_DATE('11-JUL-1998', 'dd-MON-yyyy'), 'SH_CLERK', 2900, NULL, 122, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Randall', 'Perkins', 'RPERKINS', '650.505.4876', TO_DATE('19-DEC-1999', 'dd-MON-yyyy'), 'SH_CLERK', 2500, NULL, 122, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Sarah', 'Bell', 'SBELL', '650.501.1876', TO_DATE('04-FEB-1996', 'dd-MON-yyyy'), 'SH_CLERK', 4000, NULL, 123, 50);

INSERT INTO employees VALUES (employees_seq.nextval, 'Britney', 'Everett', 'BEVERETT', '650.501.2876', TO_DATE('03-MAR-1997', 'dd-MON-yyyy'), 'SH_CLERK', 3900, NULL, 123, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Samuel', 'McCain', 'SMCCAIN', '650.501.3876', TO_DATE('01-JUL-1998', 'dd-MON-yyyy'), 'SH_CLERK', 3200, NULL, 123, 50);

INSERT INTO employees VALUES( employees_seq.nextval, 'Vance', 'Jones', 'VJONES', '650.501.4876', TO_DATE('17-MAR-1999', 'dd-MON-yyyy'), 'SH_CLERK', 2800, NULL, 123, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Alana', 'Walsh', 'AWALSH', '650.507.9811', TO_DATE('24-APR-1998', 'dd-MON-yyyy'), 'SH_CLERK', 3100, NULL, 124, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Kevin', 'Feeney', 'KFEENEY', '650.507.9822', TO_DATE('23-MAY-1998', 'dd-MON-yyyy'), 'SH_CLERK', 3000, NULL, 124, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Donald', 'OConnell', 'DOCONNEL', '650.507.9833', TO_DATE('21-JUN-1999', 'dd-MON-yyyy'), 'SH_CLERK', 2600, NULL, 124, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Douglas', 'Grant', 'DGRANT', '650.507.9844', TO_DATE('13-JAN-2000', 'dd-MON-yyyy'), 'SH_CLERK', 2600, NULL, 124, 50);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Jennifer', 'Whalen', 'JWHALEN', '515.123.4444', TO_DATE('17-SEP-1987', 'dd-MON-yyyy'), 'AD_ASST', 4400, NULL, 101, 20);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Michael', 'Hartstein', 'MHARTSTE', '515.123.5555', TO_DATE('17-FEB-1996', 'dd-MON-yyyy'), 'MK_MAN', 13000, NULL, 100, 20);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Pat', 'Fay', 'PFAY', '603.123.6666', TO_DATE('17-AUG-1997', 'dd-MON-yyyy'), 'MK_REP', 6000, NULL, 201, 20);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Susan', 'Mavris', 'SMAVRIS', '515.123.7777', TO_DATE('07-JUN-1994', 'dd-MON-yyyy'), 'HR_REP', 6500, NULL, 101, 40);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Hermann', 'Baer', 'HBAER', '515.123.8888', TO_DATE('07-JUN-1994', 'dd-MON-yyyy'), 'PR_REP', 10000, NULL, 101, 70);

INSERT INTO employees VALUES ( employees_seq.nextval, 'Shelley', 'Higgins', 'SHIGGINS', '515.123.8080', TO_DATE('07-JUN-1994', 'dd-MON-yyyy'), 'AC_MGR', 12000, NULL, 101, 110);

INSERT INTO employees VALUES ( employees_seq.nextval, 'William', 'Gietz', 'WGIETZ', '515.123.8181', TO_DATE('07-JUN-1994', 'dd-MON-yyyy'), 'AC_ACCOUNT', 8300, NULL, 205, 110);

REM ********* insert data into the JOB_HISTORY table

        Prompt ******  Populating JOB_HISTORY table ....

        INSERT INTO job_history VALUES (102, TO_DATE('13-JAN-1993', 'dd-MON-yyyy'), TO_DATE('24-JUL-1998', 'dd-MON-yyyy'), 'IT_PROG', 60);

        INSERT INTO job_history VALUES (101, TO_DATE('21-SEP-1989', 'dd-MON-yyyy') , TO_DATE('27-OCT-1993', 'dd-MON-yyyy') , 'AC_ACCOUNT' , 110);

        INSERT INTO job_history VALUES (101 , TO_DATE('28-OCT-1993', 'dd-MON-yyyy') , TO_DATE('15-MAR-1997', 'dd-MON-yyyy') , 'AC_MGR' , 110);

        INSERT INTO job_history VALUES (201 , TO_DATE('17-FEB-1996', 'dd-MON-yyyy') , TO_DATE('19-DEC-1999', 'dd-MON-yyyy') , 'MK_REP' , 20);

        INSERT INTO job_history VALUES  (114, TO_DATE('24-MAR-1998', 'dd-MON-yyyy'), TO_DATE('31-DEC-1999', 'dd-MON-yyyy'), 'ST_CLERK', 50);

        INSERT INTO job_history VALUES  (122, TO_DATE('01-JAN-1999', 'dd-MON-yyyy'), TO_DATE('31-DEC-1999', 'dd-MON-yyyy'), 'ST_CLERK', 50);

        INSERT INTO job_history VALUES  (200, TO_DATE('17-SEP-1987', 'dd-MON-yyyy'), TO_DATE('17-JUN-1993', 'dd-MON-yyyy'), 'AD_ASST', 90);

        INSERT INTO job_history VALUES  (176, TO_DATE('24-MAR-1998', 'dd-MON-yyyy'), TO_DATE('31-DEC-1998', 'dd-MON-yyyy'), 'SA_REP', 80);

        INSERT INTO job_history VALUES  (176, TO_DATE('01-JAN-1999', 'dd-MON-yyyy'), TO_DATE('31-DEC-1999', 'dd-MON-yyyy'), 'SA_MAN', 80);

        INSERT INTO job_history VALUES  (200, TO_DATE('01-JUL-1994', 'dd-MON-yyyy'), TO_DATE('31-DEC-1998', 'dd-MON-yyyy'), 'AC_ACCOUNT', 90);

        REM ********* insert data into the SAL_GRADE table

        Prompt ******  Populating SAL_GRADE table ....

        INSERT INTO sal_grades VALUES(1,0,1000);

        INSERT INTO sal_grades VALUES(2,1001,2000);

        INSERT INTO sal_grades VALUES(3,2001,3000);

        INSERT INTO sal_grades VALUES(4,3001,4000);

        INSERT INTO sal_grades VALUES(5,4001,5000);

        INSERT INTO sal_grades VALUES(6,5001,6000);

        INSERT INTO sal_grades VALUES(7,6001,7000);

        INSERT INTO sal_grades VALUES(8,7001,8000);

        INSERT INTO sal_grades VALUES(9,8001,9000);

        INSERT INTO sal_grades VALUES(10,9001,10000);

        INSERT INTO sal_grades VALUES(11,10001,11000);

        INSERT INTO sal_grades VALUES(12,11001,12000);

        INSERT INTO sal_grades VALUES(13,12001,13000);

        INSERT INTO sal_grades VALUES(14,13001,14000);

        INSERT INTO sal_grades VALUES(15,14001,15000);

        INSERT INTO sal_grades VALUES(16,15001,16000);

        INSERT INTO sal_grades VALUES(17,16001,17000);

        INSERT INTO sal_grades VALUES(18,17001,18000);

        INSERT INTO sal_grades VALUES(19,18001,19000);

        INSERT INTO sal_grades VALUES(20,19001,20000);

--p142偶数题

--(2)

        SELECT employee_id,first_name,last_name,department_id

        FROM employees

        WHERE job_id = 'SA_MAN';

--(4)

        SELECT *

        FROM employees

        WHERE department_id=40 AND job_id='AD_ASST'

        OR department_id=20 AND job_id='SA_REP';

--(6)

        SELECT distinct job_id,job_title

        FROM jobs

        WHERE job_id in

        (SELECT job_id

        FROM employees

        WHERE COMMISSION_PCT is not null);

--(8)
        SELECT first_name
        FROM employees
        WHERE first_name not LIKE '%S%';
--(10)
        SELECT e1.first_name,e2.first_name as  manager_name
        FROM employees e1,employees e2
        where e2.employee_id = e1.manager_id;
--(12)
        SELECT d.department_id,d.department_name,l.street_address,e.first_name
        FROM departments d , employees e ,locations l
        where l.location_id=d.location_id and d.manager_id=e.employee_id;
--(14)
        SELECT e.first_name,d.department_name
        FROM employees e , departments d
        where e.department_id=d.department_id
        UNION ALL
        SELECT first_name, null as department_name
        FROM employees
        where department_id is NULL ;
--(16)
        SELECT DISTINCT d.*
        FROM departments d , employees e
        where e.department_id=d.department_id and e.employee_id is not NULL;
--(18)
        SELECT *
        FROM employees
        WHERE salary>(
        SELECT avg(salary)
        FROM employees);

--(20)
        SELECT d.department_id,d.department_name,count(*),avg(salary)
        FROM employees e,departments d
        where e.department_id=d.department_id
        GROUP BY d.department_id,d.department_name;

--(22)
        SELECT d.department_id,d.department_name,e.job_id,count(*),avg(salary)
        FROM employees e,departments d
        where e.department_id=d.department_id
        GROUP BY  d.department_id,d.department_name,e.job_id;

--(24)
        SELECT e.*,d.*
        FROM employees e , departments d
        where e.department_id=d.department_id
        AND e.department_id
        IN(SELECT department_id
        FROM employees
        GROUP BY department_id
        having avg(salary)<6000);

--(26)
        select *
        from employees
        where job_id in(
        select job_id
        from employees
        where employee_id=140);

--(28)
        select d.department_id,d.department_name,

        count(*),avg(salary),avg(round((sysdate-hire_date)/365))     
        from employees e,departments d
        where d.department_id=e.department_id
        group by d.department_id,d.department_name;

--(30)
        select *
        from employees e1
        where e1.salary>(
        select  avg(salary)
        from employees e2
        where e2.department_id=e1.department_id
        group by e2.department_id
        );

--(32)
        select *
        from employees
        where salary>any(
        select salary
        from employees
        where department_id=50);

        或:

        select *
        from employees
        where salary>(
        select min(salary)
        from employees
        where department_id=50
        );
--(34)
        select *
        from employees
        where department_id in(
        select department_id
        from employees
        group by department_id
        having count(*)>10);

--(36)
        SELECT e.*,d.*
        FROM employees e , departments d
        where e.department_id=d.department_id
        AND e.department_id
        IN(SELECT department_id
        FROM employees
        GROUP BY department_id
        having min(salary)>5000);

--(38)
        select *
        from departments
        where department_id in(
        select department_id from employees
        group by department_id
        having count(*)>=all(
        select count(*)
        from employees
        group by department_id));

        或:

        select *
        from departments
        where departments.department_id in(
        select department_id
        from(
        select count(department_id),department_id
        from employees
        group by  department_id
        order by count(department_id) desc
        )
        where rownum<2;

--(40)

        --降序(工资):
        select *
        from (
        select *
        from (
        select rownum rn,employee_id,salary
        from(
        select employee_id,salary
        from employees
        where salary is not null
        order by salary desc) )
        where rn between 5 and 10
        )a,employees e
        where a.employee_id=e.employee_id
        order by rn asc
        ;
        select *
        from employees
        where salary is not null
        order by salary desc
        offset 6 rows  fetch first 6 rows with ties;

        --升序(工资):
        select *
        from (
        select *
        from (
        select rownum rn,employee_id,salary
        from(
        select employee_id,salary
        from employees
        where salary is not null
        order by salary asc) )
        where rn between 5 and 10
        )a,employees e
        where a.employee_id=e.employee_id
        order by rn asc
        ;
--(42)
        select *
        from employees
        where hire_date=last_day(hire_date)-1;

--(44)
        select employee_id,concat(initcap(first_name),initcap(last_name))total_name
        from employees;

--(46)
        select *
        from employees
        where first_name like '_M%';

--(48)
        select *
        from employees
        where extract(month from hire_date)=2;

--(50)
        select *
        from (
        select *
        from (
        select rownum rn,employee_id,salary
        from(
        select employee_id,salary
        from employees
        where salary is not null
        order by salary desc) )s
        where rn >100
        )a,employees e
        where a.employee_id=e.employee_id
        order by rn asc ;

        或:

        select *
        from (
        select *
        from (
        select rownum rn,employee_id,salary
        from(
        select employee_id,salary
        from employees
        where salary is not null
        order by salary asc) )s
        where rn >100
        )a,employees e
        where a.employee_id=e.employee_id
        order by rn asc;
--(52)
        select  e1.employee_id         ida,concat(initcap(e1.first_name),initcap(e1.last_name))total_name,e1.manager_id,concat(ini        tcap(e2.first_name),initcap(e2.last_name))total_name,e2.manager_id,concat(initcap(e3.first_        name),initcap(e3.last_name))total_name
        from employees e1,employees e2,employees e3
        where (e1.manager_id=e2.employee_id and e2.manager_id=e3.employee_id)
        union all
        select  e4.employee_id         ida,concat(initcap(e4.first_name),initcap(e4.last_name))total_name,e4.manager_id,concat(ini        tcap(e5.first_name),initcap(e5.last_name))total_name,null as manager_id_1,null as         total_name_2
        from employees e4,employees e5
        where  e4.manager_id=e5.employee_id and e5.manager_id is null
        order by ida asc;
--(54)
        select employee_id, level, lpad('|-', level * 5 - 1, ' ') ||         concat(initcap(first_name),initcap(last_name)) as employee_total_name
        from employees
        start with manager_id is null
        connect by prior employee_id = manager_id;

注:本文章仅用于参考学习,如有错误,请大家指正。