grant create view to scott;
CREATE VIEW HR_VIEW
AS
SELECT * FROM EMP;
SELECT * FROM HR_VIEW;
CREATE VIEW HR_MGR
AS
SELECT EMPNO,ENAME FROM EMP;
SELECT * FROM HR_MGR;
CREATE OR REPLACE VIEW HR_MGR
AS
SELECT EMPNO,ENAME,COMM FROM EMP;
SELECT * FROM HR_MGR;
DROP VIEW HR_MGR;
DROP VIEW HR_VIEW;
select * from emp;
CREATE OR REPLACE VIEW view_emp
AS
SELECT DISTINCT E.*, D.*
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO ;
CREATE OR REPLACE VIEW view_emp
AS
SELECT DISTINCT E.EMPNO, E.ENAME, E.JOB, E.MGR,E.HIREDATE,
E.SAL,(E.SAL*12) AS "年薪",E.COMM, (E.SAL*12+E.COMM) as "年收入",
D.Deptno, D.DNAME,D.LOC
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO ;
CREATE OR REPLACE VIEW view_emp
AS
SELECT DISTINCT E.EMPNO, E.ENAME, E.JOB, E.MGR,E.HIREDATE,
E.SAL,(E.SAL*12) AS "年薪",E.COMM, (E.SAL*12+NVL(E.COMM,0)) AS "年收入",
D.Deptno, D.DNAME,D.LOC
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO ;
select * from view_emp;
select * from view_emp where "年收入">20000;
CREATE OR REPLACE VIEW view_emp
("员工编号","员工姓名","员工工资")
AS
SELECT DISTINCT E.EMPNO, E.ENAME, E.SAL
FROM EMP E ;
select * from view_emp where ename = 'SMITH'
select * from view_emp where 员工姓名 = 'SMITH'
CREATE OR REPLACE VIEW V_EMP_SAL
AS
SELECT DEPTNO,
MAX(SAL) AS "最高工资",
MIN(SAL) AS "最低工资",
AVG(SAL) AS "平均工资"
FROM EMP
WHERE DEPTNO IS NOT NULL
GROUP BY DEPTNO
ORDER BY DEPTNO;
select * from v_emp_sal;
CREATE OR REPLACE VIEW V_EMPINFO
AS
SELECT * FROM EMP WHERE SAL > 2000
WITH READ ONLY;
INSERT INTO V_EMPINFO VALUES (8000,'张三','工程师',7902, '12-8月-1987',1900,500,20);
select * from emp;