Part I
CREATE TABLE department
( DEPARTMENT_ID
NUMBER(4)
DEPARTMENT_NAME
VARCHAR2(20)
ADDRESS
VARCHAR2(20)
PRIMARY KEY,
NOT NULL UNIQUE,
NOT NULL);
4) Populate the DEPARTMENT table.
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
COMMIT;
department
department
department
department
department
department
VALUES(10,
VALUES(20,
VALUES(30,
VALUES(40,
VALUES(50,
VALUES(60,
'ACCOUNTING', 'NEW YORK');
'RESEARCH', 'DALLAS');
'SALES', 'CHICAGO');
'IT', 'DALLAS');
'EXECUTIVE', 'NEW YORK');
'MARKETING', 'CHICAGO');
5) Create table EMPLOYEE as described below.
CREATE TABLE employee
( EMPLOYEE_ID
NUMBER(4)
PRIMARY KEY,
EMPLOYEE_NAME
VARCHAR2(20)
NOT NULL,
JOB
VARCHAR2(50)
NOT NULL,
MANAGER_ID
NUMBER(4),
HIRE_DATE
DATE
NOT NULL,
SALARY
NUMBER(9, 2)
NOT NULL,
COMMISSION
NUMBER(9, 2),
DEPARTMENT_ID
NUMBER(4) REFERENCES department(DEPARTMENT_ID));
6) Populate the EMPLOYEE table.
INSERT INTO employee
VALUES(7839, 'KING', 'PRESIDENT', NULL, '20-NOV-01', 5000, NULL, 50);
INSERT INTO employee
VALUES(7596, 'JOST', 'VICE PRESIDENT', 7839, '04-MAY-01', 4500, NULL, 50);
INSERT INTO employee
VALUES(7603, 'CLARK', 'VICE PRESIDENT', 7839, '12-JUN-01', 4000, NULL, 50);
INSERT INTO employee
VALUES(7566, 'JONES', 'PUBLIC ACCOUNTANT', 7596, '05-APR-01', 3000, NULL, 10);
INSERT INTO employee
VALUES(7886, 'STEEL', 'PUBLIC ACCOUNTANT', 7566, '08-MAR-03', 2500, NULL, 10);
INSERT INTO employee
VALUES(7610, 'WILSON', 'ANALYST', 7596, '03-DEC-01', 3000, NULL, 20);
INSERT INTO employee
VALUES(7999, 'WOLFE', 'ANALYST', 7610, '15-FEB-02', 2500, NULL, 20);
INSERT INTO employee
VALUES(7944, 'LEE', 'ANALYST', 7610, '04-SEP-06', 2400, NULL, 20);
INSERT INTO employee
VALUES(7900, 'FISHER', 'SALESMAN', 7603, '06-DEC-01', 3000, 500, 30);
INSERT INTO employee
VALUES(7921, 'JACKSON', 'SALESMAN', 7900, '25-FEB-05', 2500, 400, 30);
INSERT INTO employee
VALUES(7952, 'LANCASTER', 'SALESMAN', 7900, '06-DEC-06', 2000, 150, 30);
INSERT INTO employee
VALUES(7910, 'SMITH', 'DATABASE ADMINISTRATOR', 7596, '20-DEC-01', 2900, NULL, 40);
INSERT INTO employee
VALUES(7788, 'SCOTT', 'PROGRAMMER', 7910, '15-JAN-03', 2500, NULL, 40);
INSERT INTO employee
VALUES(7876, 'ADAMS', 'PROGRAMMER', 7910, '15-JAN-03', 2000, NULL, 40);
INSERT INTO employee
VALUES(7934, 'MILLER','PROGRAMMER', 7876, '25-JAN-02', 1000, NULL, 40);
INSERT INTO employee
VALUES(8000, 'BREWSTER', 'TBA', NULL,
'22-AUG-13', 2500, NULL, NULL);
COMMIT;
Part II
Write a SQL SELECT statement to display the name and address of all departments (except the
departments in Dallas) having maximum number of employees. Sort your output in ascending order by
department name. (Submitting more than one SQL statement will receive 0 points.)
Hard coding, except the string 'DALLAS', is not allowed in your program.
Hints: Subqueries should be used. No join operation is needed.
DEPARTMENT NAME
ACCOUNTING
EXECUTIVE
IT
MARKETING
RESEARCH
SALES
ADDRESS
NEW YORK
NEW YORK
DALLAS
CHICAGO
DALLAS
CHICAGO
Your statements output should match the following format:
DEPARTMENT_NAME
ADDRESS
-------------------- -------------------EXECUTIVE
NEW YORK
NUMBER OF EMPLOYEES
2
3
4
0
3
3