**
1 Sintaxe para criar uma tabela:
**
CREATE TABLE STUDENT(
SID NUMBER NOT NULL PRIMARY KEY,
STUNAME VARCHAR(30) NOT NULL,
STUAGE NUMBER ,
ADDRESS VARCHAR(100),
TEL NUMBER
);
2. Insira informações
INSERT INTO STUDENT(SID,STUNAME,STUAGE,ADDRESS,TEL)VALUES(1,'张三',20,'天津空港',17602684398)
3. Insira as informações especificadas
INSERT INTO STUDNET(SID,STUNAME,TEL)VALUES(2,'李四',82374879328)
4. Consultar informações
SELECT * FROM STUDENT
5. Modifique a tabela
添加列
ALTER TABLE XX ADD(CLASS NUMBER)
修改列
ALTER TABLE 表名 MODIFY(列名VARCHAR(50) )
删除列
ALTER TABLE 表名 DROP(列名)
6. Excluir tabela
DROP TABLE 表名
7. Renomeie a tabela
RENAME 旧表名 TO 新表名
8. linguagem DML
Mesa EMP
Mesa DEPT
Linguagem de manipulação de dados INSERT, UPDATE, DELETE
UPDATE 表名 SET 列名 = 新值 WHERE 列名=XXX
DELETE FROM 表名 WHERE 列名 = XXX
Exercício
1. Consulta de posição é o número do funcionário, número do gerente e local de trabalho do SALESMAN.
SELECT EMPNO,MGR,LOC FROM EMP,DEPT WHERE JOB = 'SALESMAN' AND EMP.DEPTNO=DEPT.DEPTNO
2. Consulte o nome e o número do departamento dos funcionários cujo número do departamento não está no departamento 10.
SELECT ENAME,DEPTNO FROM EMP WHERE DEPTNO <> 10
9. Operadores
Conector ||
SELECT ENAME || JOB EMPLY FROM EMP
Elimine linhas duplicadas
SELECT DISTINCT DEPTNO FROM EMP
* Exercício
consulta nome do funcionário salário entre 1000-1500, o número do departamento e salário *
SELECT ENAME DEPTNO,SAL FROM EMP
WHERE SAL>=1000 AND SAL<=1500
----------
SELECT ENAME DEPTNO,SAL FROM EMP
WHERE SAL BETWEEN 1000 AND 1500
Consulte o número, nome e bônus dos funcionários cujos números são 7369 7521 e 7698
SELECT EMPNO,ENAME,COMM FROM EMP
WHERE EMPNO IN(7369,7521,7698)
Consulte o nome, número, cargo do funcionário cujo nome contém S
SELECT ENAME,EMPNO,JOB FROM EMP
WHERE ENAME LIKE '%S%'
Consultar nomes de funcionários cujos nomes comecem com W
SELECT ENAME FROM EMP
WHERE ENAME LIKE 'W%'
Consulte o nome do funcionário cujo penúltimo caractere é T
SELECT ENAME FROM EMP
WHERE ENAME LIKE '%T_'
Consulte o nome do funcionário cujo bônus está vazio, bônus
SELECT ENAME COMM FROM EMP
WHERE COMM IS NULL
Consulte o nome, cargo, salário do funcionário cujo salário exceda 2.000, e o cargo seja GERENTE, ou seja VENDEDOR
SELECT ENAME,JOB,SAL FROM EMP
WHERE SAL > 2000 AND JOB= 'MANAGER' OR JOB = 'SALESMAN'
Consulte o nome, o cargo e o salário dos funcionários cujo salário exceda 2.000 e cuja posição seja GERENTE ou VENDEDOR
S1ELECT ENAME,JOB,SAL FROM EMP
WHERE SAL >2000 AND JOB IN ('MANAGER','SALESMAN')
Consulte o nome, departamento e salário dos funcionários cujo departamento é 10 ou 20 e cujo salário está entre 3.000 e 5.000
SELECT ENAME,DEPTNO,SAL FROM EMP
WHERE DEPTNO IN (10,20) AND SAL BETWEEN 3000 AND 5000
A posição da consulta é SALESMAN ou MANAGER, o número do departamento é 10 ou 20 e o nome contém o nome, cargo, número do departamento do funcionário
SELECT ENAME,JOB,DEPTNO FROM EMP
WHERE JOB IN ('SALESMAN','MANAGER') AND DEPTNO IN (10,20) AND ENAME LIKE '%A%'
Consulte o nome e o número do departamento de funcionários cujo departamento é 20 ou 30 e classifique-os em ordem crescente de salário
SELECT ENAME,DEPTNO,SAL FROM EMP
WHERE DEPTNO IN (20,30) ORDER BY SAL
Consulte o nome, o número do departamento e o salário dos funcionários cujo salário está entre 2.000 e 3.000 e o departamento não é o número 10 e classifique-os em ordem crescente por departamento e salário decrescente
SELECT ENAME,DEPTNO,SAL FROM EMP
WHERE SAL BETWEEN 2000 AND 3000 AND DEPTNO <> 10 ORDER BY DEPTNO,SAL DESC
10. Links externos (+)
Consultar todos os nomes de funcionários, números de departamentos, nomes de departamentos, incluindo departamentos sem funcionários também devem ser exibidos
SELECT ENAME,E.DEPTNO ,DNAME FROM EMP E ,DEPT D WHERE E.DEPTNO(+) = D.DEPTNO
11. Auto-conexão
Consulte o nome de cada funcionário e o nome do superior imediato
SELECT E.ENAME 员工姓名,M.ENAME 经理姓名 FROM EMP E ,EMP M WHERE E.MGR = M.EMPNO
* Exercício
1. Consulte os nomes e números de funcionários de todos os funcionários que trabalham em NEWYORK e CHICAGO, bem como os nomes e números de gerentes *
SELECTE E.ENAME 员工姓名,E.EMPNO 员工编号,M.ENAME 经理姓名 ,M.EMPNO 经理编号,LOC FROM EMP E,EMP M,DEPT D
WHERE E.DEPTNO = D.DEPTNO AND E.MGR = M.EMPNO AND LOC IN ('NEWYORK' , 'CHICAGO')
2. Com base na pergunta anterior, adicione o funcionário King sem um gerente e classifique pelo número do funcionário
SELECTE E.ENAME 员工姓名,E.EMPNO 员工编号,M.ENAME 经理姓名 ,M.EMPMO 经理编号,LOC FROM EMP E,EMP M,DEPT D
WHERE E.DEPTNO = D.DEPTNO AND E.MGR = M.EMPNO(+) AND LOC IN ('NEWYORK' , 'CHICAGO') ORDER BY E.EMPNO
3. Consulte todos os números de funcionários, nomes e nomes de departamentos, incluindo funcionários sem departamentos, e exiba-os
.
12. Produto cartesiano
Consultar nome, número, local de trabalho do funcionário
SELECT ENAME,EMPNO,LOC FROM EMP,DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO
13. Cross join (o produto de duas tabelas) cross join
SELECT ENAME,EMPNO,LOC FROM EMP CROSS JOIN DEPT
14. junção NATURAL
SELECT ENAME,EMPNO,LOC FROM EMP NATURAL JOIN DEPT
15. A cláusula de uso especifica as condições de conexão
Consulte o nome, o nome do departamento e o salário do funcionário cujo número de departamento é 20
SELECT ENAME,DNAME,SAL FROM EMP
JOIN DEPT USING(DEPTNO)
WHERE DEPTNO = 20
16. A cláusula on especifica as condições de conexão
SELECT ENAME,DNAME,LOC FROM EMP
JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO
WHERE EMP.DEPTNO = 20
Exercício
1. Use a cláusula using para exibir os nomes, nomes dos departamentos e locais de trabalho dos funcionários que trabalham em CHICAGO
SELECT ENAME,DNAME,LOC FROM EMP
JOIN DEPT USING(DEPTNO)
WHERE LOC = 'CHICAGO'
2. Use a cláusula On para exibir o nome do funcionário que trabalha em CHICAGO, o nome do departamento, a localização e o nível de salário
SELECT ENAME,DNAME,LOC FROM EMP
JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO
WHERE LOC = 'CHICAGO'
3. Use o link da esquerda para consultar o nome de cada funcionário, o nome do gerente e o KING sem gerente também deve ser exibido
SELECT E.ENAME,M.ENAME FROM EMP E
LEFT OUTER JOIN EMP M ON E.MGR = M.EMPNO
4. Use o link correto para consultar o nome de cada funcionário, o nome do gerente e KING sem gerente também deve ser exibido
SELECT E.ENAME,M.ENAME FROM EMP E
RIGHT OUTER JOIN EMP M ON E.MGR = M.EMPNO
17. Lição de casa
1. Exibe o nome do funcionário SMITH, o nome do departamento e o nome do superior imediato
SELECT E.ENAME,DNAME,M.ENAME FROM EMP E,EMP M, DEPT D
WHERE E.MGR = M.EMPNO AND E.DEPTNO = D.DEPTNO AND E.ENAME = 'SMITH'
2. Exiba os nomes dos funcionários e seus gerentes gerenciados pela KING e FORD.
SELECT E.ENAME , M.ENAME FROM EMP E,EMP M
WHERE E.MGR = M.EMPNO AND (M.ENAME = 'KING' OR M.ENAME = 'FORD')
3. Consulte o nome do funcionário cuja terceira letra é a.
SELECT ENAME FROM EMP
WHERE ENAME LIKE '__A%'
4. Consulte os nomes e números de departamento dos funcionários, exceto para os departamentos 10 e 20.
SELECT ENAME,DEPTNO FROM EMP
WHERE DEPTNO <> 10 AND DEPTNO <> 20
5. Consulte as informações do funcionário com número de departamento 30, primeiro classifique por salário em ordem decrescente e, em seguida, classifique por nome em ordem crescente.
SELECT ENAME,DEPTNO,SAL FROM EMP
WHERE DEPTNO =30
ORDER BY SAL DESC,ENAME ASC
6. Consulte os nomes dos funcionários sem chefes (o número do gerente está vazio).
SELECT ENAME FROM EMP
WHERE MGR IS NULL
7. Consulte o nome, salário e número do departamento dos funcionários cujo salário é maior ou igual a 4500 e cujo departamento é 10 ou 20.
SELECT ENAME,SAL,DEPTNO FROM EMP
WHERE SAL >= 4500 AND DEPTNO IN (10,20);
8. Escreva uma consulta para exibir todos os nomes de funcionários, números de departamentos e nomes de departamentos.
SELECT ENAME,DEPTNO,DNAME FROM EMP,DEPT AND EMP.DEPTNO = DEPT.DEPTNO
9. Escreva uma consulta para mostrar os nomes, locais de trabalho e bônus de todos os funcionários que trabalham em CHICAGO e cujo bônus não está vazio
SELECT E.ENAME,LOC,E.COMM FROM EMP,DEPT
WHERE EMP.COMM<>0 AND DEPT.DEPTNO=EMP.DEPTNO
10. Escreva uma consulta para exibir os nomes e locais de trabalho de todos os funcionários cujos nomes contenham caracteres A.
SELECT E.ENAME,LOC FROM EMP
JOIN DEPT ON DEPT.DEPTNO = EMP.DEPTNO
WHERE EMP.ENAME LIKE '%A%'
6/09/2017