µ±Ç°Î»ÖãºÊ×Ò³ > sqlÓï¾ä
where e.department_id=d.department_id group by d.department_name having count(e.employee_id)>4
--4.²éѯ¹¤×÷²»ÎªAD_PRES£¬¹¤×ʵĺʹóÓÚµÈÓÚ25000µÄ¹¤×÷±àºÅºÍÿÖÖ¹¤×÷¹¤×ʵĺ͡£ select job_id,sum(salary) from employees group by job_id
having job_id not like'AD_PRES'and sum(salary)>=25000
--5.ÏÔʾ¾ÀíºÅÂ룬Õâ¸ö¾ÀíËù¹ÜÀíÔ±¹¤µÄ×îµÍ¹¤×Ê£¬²»°üÀ¨¾ÀíºÅΪ¿ÕµÄ£¬²»°üÀ¨×îµÍ¹¤×ÊСÓÚ3000µÄ£¬°´×îµÍ¹¤×ÊÓɸߵ½µÍÅÅÐò¡£ select manager_id,min(salary) from employees
group by manager_id
having manager_id is not null and min(salary)>3000 order by min(salary)desc
-----------------------µÚÆßÕÂ---------------------
--1.²éѯ¹¤×ʸßÓÚ±àºÅΪ113µÄÔ±¹¤¹¤×Ê£¬²¢ÇÒºÍ102ºÅÔ±¹¤´ÓÊÂÏàͬ¹¤×÷µÄÔ±¹¤µÄ±àºÅ¡¢ÐÕÃû¼°¹¤×Ê¡£
select employee_id,last_name,salary from employees
where salary>(select salary
from employees
where employee_id=113) and job_id=(select job_id
from employees
where employee_id=102) --2.¹¤×Ê×î¸ßµÄÔ±¹¤ÐÕÃûºÍ¹¤×Ê¡£ select last_name,salary from employees
WHERE salary in (SELECT Max(salary) FROM employees);
--3.²éѯ²¿ÃÅ×îµÍ¹¤×ʸßÓÚ100ºÅ²¿ÃÅ×îµÍ¹¤×ʵIJ¿ÃŵıàºÅ¡¢Ãû³Æ¼°²¿ÃÅ×îµÍ¹¤×Ê¡£ select e.department_id,d.department_name,min(e.salary) from departments d ,employees e
where d.department_id=e.department_id
group by e.department_id,d.department_name having min(e.salary)>(select min(salary) from employees
where employees.department_id=100) order by e.department_id;
--4.²éѯԱ¹¤¹¤×ÊΪÆä²¿ÃÅ×îµÍ¹¤×ʵÄÔ±¹¤µÄ±àºÅºÍÐÕÃû¼°¹¤×Ê¡£ select e.employee_id,e.last_name
from employees e
where e.salary in(select min(salary) from employees
group by department_id);
--5.ÏÔʾ¾ÀíÊÇKINGµÄÔ±¹¤ÐÕÃû£¬¹¤×Ê¡£ select last_name,first_name,salary from employees
where manager_id in(select employee_id from employees
where last_name='King'); -----------------------------µÚ°ËÕÂ--------------------
--1.Ïòdepartments±íÖеIJ¿ÃűàºÅ¡¢²¿ÃÅÃû³Æ¡¢ÇøÓò±àºÅÈýÁвåÈëÁ½Ìõ¼Í¼£¬·Ö±ðΪ£º300£¬?QQQ?£¬1500ºÍ310£¬?TTT?£¬1700¡£¹Û²ìÖ´Ðнá¹û¡£
INSERT INTO departments (department_id,department_name,location_id) VALUES(300,'QQQ',1500);
INSERT INTO departments (department_id,department_name,location_id) VALUES(310,'TTT',1700);
--2.ʹÓÃÁ½ÖÖ·½·¨Íê³ÉÏòÁвÙ×÷£¬ÊÔÔÚв¿ÃŵĹÜÀíÕߺ͹¤×÷µØÇø±àºÅ»¹Ã»ÓÐÈ·¶¨µÄÇé¿öÏ£¬Ïò²¿ÃűíÖвåÈëв¿ÃÅÐÅÏ¢ÈçÏ£º²¿ÃűàºÅ 320¼°330£¬²¿ÃÅÃû³ÆF1¼°F2¡£ INSERT INTO departments (department_id,department_name) VALUES(320,'F1');
INSERT INTO departments (department_id,department_name) VALUES(330,'F2');
INSERT INTO departments
VALUES(320,'F1', NULL,NULL); INSERT INTO departments VALUES(30,'F2', NULL,NULL); --3.°´Ë³ÐòÖ´ÐÐÏÂÁвÙ×÷£º
--1¡¢²åÈëÒ»¸öеIJ¿ÃÅÐÅÏ¢£¬¿ªÊ¼ÊÂÎñ¡£²¿ÃűàºÅ350£¬Ãû³Æ ÈËÁ¦×ÊÔ´ ¹ÜÀíÕß 100 ÇøÓò±àºÅ 1700¡£
INSERT INTO departments
VALUES(350,'ÈËÁ¦×ÊÔ´', 100,1700); --2¡¢½¨Á¢±£´æµãa¡£ SAVEPOINT a
--3¡¢²éѯ²åÈëµÄÊý¾ÝÊÇ·ñ´æÔÚ¡£ select * from departments
--4¡¢É¾³ýËùÓв¿ÃűàºÅ´óÓÚ200µÄ²¿ÃÅ delete from departments where department_id>200 --5¡¢½¨Á¢±£´æµãb¡£ SAVEPOINT b
--6¡¢²éѯ»¹ÓÐÄÄЩ²¿ÃÅÐÅÏ¢´æÔÚ¡£ select * from departments
--7¡¢¸üв¿ÃűàºÅΪ10µÄ²¿ÃŵĹÜÀíÕߵıàºÅΪ110¡£ UPDATE departments SET salary=salary*(1+0.2); --8¡¢²éѯµ±Ç°²¿ÃÅÐÅÏ¢¡£ select * from departments
--9¡¢Ö´Ðлعö²Ù×÷£¬µ«²»»Ø¹öµ½ÊÂÎñµÄ×ʼ£¬¶øÊǻعöµ½±£´æµãb¡£ ROLLBACK TO b
--10¡¢Ìá½»ÊÂÎñ£¬Ìá½»ºóÊÂÎñÒѽáÊø¡£ COMMIT
--11¡¢²é¿´×îÖÕÊý¾ÝÐ޸Ľá¹û¡£ select * from departments
-----------------------------µÚ¾ÅÕÂ-------------------------------
--1.´´½¨±ídate_test,°üº¬ÁÐd£¬ÀàÐÍΪdateÐÍ¡£ÊÔÏòdate_test±íÖвåÈëÁ½Ìõ¼Ç¼£¬Ò»Ìõµ±Ç°ÏµÍ³ÈÕÆÚ¼Ç¼£¬Ò»Ìõ¼Ç¼Ϊ¡°1998-08-18¡±¡£ CREATE TABLE date_test (d date); insert into date_test values(sysdate);
insert into date_test values('18-8ÔÂ-1998')£»
--2.´´½¨Óëdepartments±íÏàͬ±í½á¹¹µÄ±ídtest£¬½«departments±íÖв¿ÃűàºÅÔÚ200֮ǰµÄÐÅÏ¢²åÈë¸Ã±í¡£
CREATE TABLE dtest AS
SELECT *
FROM departments
WHERE department_id<200;
--3.´´½¨Óëemployees±í½á¹ûÏàͬµÄ±íempl£¬²¢½«Æä²¿ÃűàºÅΪǰ50ºÅµÄ²¿ÃŵÄÐÅÏ¢¸´ÖƵ½empl±í¡£
CREATE TABLE empl AS
SELECT *
FROM employees
WHERE department_id<=50
--4.ÊÔ´´½¨student±í£¬Òª°üº¬ÒÔÏÂÐÅÏ¢£º --ѧÉú±àºÅ£¨sno£©£º×Ö·ûÐÍ£¨¶¨³¤£©4λ Ö÷¼ü --ѧÉúÐÕÃû£¨sname£©£º×Ö·ûÐÍ£¨±ä³¤£©8λ Ψһ --ѧÉúÄêÁ䣨sage£©£ºÊýÖµÐÍ ·Ç¿Õ
CREATE TABLE student (sno char(4) PRIMARY KEY,sname VARCHAR2 (8) UNIQUE ,sage NUMBER not null);
--5.ÊÔ´´½¨sc±í£¨³É¼¨±í£©£¬Òª°üº¬ÒÔÏÂÐÅÏ¢£º --ѧÉú±àºÅ£¨sno£©£º×Ö·ûÐÍ£¨¶¨³¤£©4λ Ö÷¼ü Íâ¼ü --¿Î³Ì±àºÅ£¨cno£©£º×Ö·ûÐÍ£¨±ä³¤£©8λ Ö÷¼ü --Ñ¡¿Î³É¼¨£¨grade£©£ºÊýÖµÐÍ CREATE TABLE sc( sno char(4) ,
cn varchar2(8) primary key,
grade number(4) );
--6.ÊÔΪstudentÔö¼ÓÒ»ÁÐѧÉúÐÔ±ð ĬÈÏÖµ ¡°Å®¡±¡£ ALTER TABLE student ADD (sex CHAR(1));
ALTER TABLE student MODIFY (sex DEFAULT 'Å®');
--7.ÊÔÐÞ¸ÄѧÉúÐÕÃûÁÐÊý¾ÝÀàÐÍΪ¶¨³¤×Ö·ûÐÍ10λ¡£ ALTER TABLE student MODIFY (sname CHAR(10));
--8.ÊÔÐÞ¸ÄѧÉúÄêÁäÁÐÔÊÐíΪ¿Õ¡£
ALTER TABLE student MODIFY sage null;
--9.ÊÔΪѡ¿Î³É¼¨ÁÐÌí¼ÓУÑ飨check£©Ô¼ÊøÎª1-100£» alter table sc add constraint grade check (grade between 1 and 100); --10.ÊÔɾ³ýsc±íÖеÄÍâ¼üÔ¼Êø¡£
Alter table sc drop constraint EMP_DEPT_FK; ---------------------------µÚÊ®ÕÂ--------------------------
--1.ÊÔ´´½¨ÊÓͼv_emp_80£¬°üº¬80ºÅ²¿ÃŵÄÔ±¹¤±àºÅ£¬ÐÕÃû£¬ÄêнÁС£
grant create view to neu;--ÔÚsystemÏÂÖ´ÐÐ
CREATE OR REPLACE VIEW v_emp_80 AS
select employee_id,last_name,first_name,salary*12 ANN_SALARY from employees
where department_id=80;
--2.´ÓÊÓͼv_emp_80ÖвéѯÄêнÔÚ12ÍòÔªÒÔÉϵÄÔ±¹¤µÄÐÅÏ¢¡£ select * from v_emp_80 where ANN_SALARY>120000
--3.´´½¨ÊÔͼv_dml£¬°üº¬²¿ÃűàºÅ´óÓÚ100ºÅµÄ²¿ÃŵÄÐÅÏ¢¡£ CREATE OR REPLACE VIEW v_dml AS select *
from departments
where department_id>100;
--4.´ÓÊÓͼv_dml²åÈëÈçϼǼ:²¿ÃűàºÅ360,²¿ÃÅÃû³ÆAAA,¹ÜÀíÕß±àºÅ101,ÇøÓò±àºÅ1700. insert into v_dml values(360,'AAA',101,1700); select * from v_dml
--5.´ÓÊÓͼv_dmlÖÐɾ³ý300ºÅÒÔÉϵIJ¿ÃÅÐÅÏ¢¡£ delete from v_dml where department_id>300 --6.¸ø±íemployees´´½¨Í¬Òå´Êem¡£ grant create SYNONYM to neu;--¸øÈ¨ÏÞ CREATE SYNONYM em
¹²·ÖÏí92ƪÏà¹ØÎĵµ