notas de estudo -Oracle de banco de dados (7)

O SQL linguagem de consulta subjacente --DQL

1) A linguagem de consulta básica, selecione ... de ... onde ...;

  • (1) a partir das palavras-chave
    especificada na consulta da qual a tabela
  • (2) usar um problema apelido
    que colunas no seleto dentro declaração, selecione uma determinada consulta
    sintaxe: Depois de sair para escrever um alias, separados por um espaço, no meio podem ser adicionados ou não adicionado como uma palavra-chave.
    Nota: Se você quiser apelido de caracteres maiúsculas e minúsculas, ou alias contém caracteres ou espaços, ele deve ser colocado entre aspas duplas.
列明 别名
列明 as 别名
select empno, ename, sal*12 from emp;
select empno as id, ename name, sal*12 as totalSal from emp;
select empno as "id", ename "name", sal*12 as "年薪" from emp;
  • (3) seleccionar cláusula para
    seleccionar uma coluna a ser consultado
    , se for todas as colunas da tabela, na parte de trás da escolha *
    Se é um colunas específicas, gravação claramente atrás seleccionar aquelas colunas, separados por vírgulas.
select * from...
select id, name,age as 别名 from ....
  • (4) onde cláusula
    WHERE usada para fazer as condições nos limites da consulta
    (se disponível com a cláusula select, update, delete)
    salientou:
    ① na cláusula onde, e se a condição é relativamente números, você pode usar um único
    aspas não;
    ② na cláusula onde, se essa seqüência, e a data e o número de tipos de
    dados são comparados, ele deve ser colocado entre aspas simples.
查询在部门10下面的所有员工信息
select * from emp where deptno=10;
select * from emp where deptno='10';
查询员工表中职位是SALESMAN的职员
select * from emp where job='SALESMAN';
select * from emp where job=SALESMAN;   ORA-00904: "SALESMAN": 标识符无效

2) consulta no Oracle ---- onde cláusula

  • (1)> <> = <= =! = Equivalente <>
查询员工表薪水低于2000的员工信息
select * from emp where sal<2000;
select * from emp where sal+nvl(comm,0)<2000;
查询员工表中不属于部门10的员工信息
select * from emp where deptno!=10;
select * from emp where deptno<>10;
查询员工表中在2002年1月1日以后入职的员工信息,比较日期类型数据
SELECT ENAME,SAL,HIREDATE FROM emp 
WHERE HIREDATE > TO_DATE('2002-1-1','YYYY-MM-DD');
  • (2) e ou ou palavras-chave
    na operação SQL, se o resultado desejado for devolvido deve satisfazer uma série de condições, e utilizado para ligar estas condições;
    a operação SQL, se o resultado desejado retornado é um de uma pluralidade de condições são satisfeitas , ou usado para conectar essas condições.
查询底薪大于1000并且职位是'CLERK'的员工信息
select * from emp where sal>1000 and job='CLERK'; 正确
SELECT * FROM EMP WHERE SAL>1000 AND JOB='CLERK'; 正确
select * from emp where sal>1000 and job='clerk';   错误
select * from emp where sal>1000 and lower(job)='clerk'; 正确
select * from emp where sal>1000 and initcap(job)='Clerk';  正确
select job, upper(job), lower(job), initcap(job) from emp;
查询底薪大于1000或者职位是'CLERK'的员工信息
select * from emp where sal>1000 or lower(job)='clerk';
select * from emp where sal>1000 or job='CLERK';
  • (3) condições de uso como - difusa pesquisa
    difusa curinga consulta correspondente:
    %: 0 para representar uma pluralidade de caracteres
    _: representa qualquer caractere único
select * from emp where ename='SMITH';    精确值查询
select * from emp where ename like '_A%';   员工姓名中第二个字母是A的  模糊匹配查询
模糊匹配查询     查询员工姓名中包含A的所有信息
select * from emp where ename like '%A%';
模糊匹配查询    查询员工姓名中是S结尾的员工信息
select * from emp where ename like '%S';
  • (4) e não no uso
    de sintaxe: em (list1, list2, list3 , ...) tem um valor igual ao da lista
    não em (list1, list2, list3 ...) é igual à lista de dados extraídos
    lista parâmetro representa uma lista de valores, cada lista separados por vírgulas de valores
查询职位是MANAGER或者CLERK的员工信息
select * from emp where job='MANAGER' or job='CLERK';
select * from emp where job in('MANAGER', 'CLERK');
查询出不是部门10和不是部门20的员工信息
select * from emp where deptno !=10 and deptno !=20;   正确
SELECT * FROM emp WHERE DEPTNO NOT IN (10,20);    正确
select * from emp where deptno !=10  or deptno !=20;   错误
  • (5) utilização entre a1 e a2
    de dados (o intervalo entre A1 a A2, compreendendo a1 e a2) uma gama de valores para as consultas que satisfaçam as condições
    utilizadas no tipo digital, tipo corda, e gama data tipo de dados.
查询底薪在1500~3000之间的员工信息
select * from emp where sal between 1500 and 3000;
select * from emp where sal>=1500 and sal<=3000;
  • (6) não é nulo é nulo e
    um valor nulo é um valor especial, não podem ser usadas quando se compara =.
    É igual a nulo é nulo
    não é igual a nulo não é nulo
查询提成为空的员工信息
select * from emp where comm is null;
查询提成不为空的员工信息
select * from emp where comm is not null;
  • (7) utilização de qualquer e todos
    qualquer e todos podem ser utilizados sozinhos, com uma necessidade operador de comparação >> = << = utilização com
>any(list1,list2,list3,....):大于()里的最小值
<any(list1,list2,list3....):小于()里的最大值
>all(list1,list2,list3...):大于()里的最大值
<all(list1,list2,list3...):小于()里的最小值
select * from emp where sal>any(3500,4000,4500);  工资大于3500
select * from emp where sal<any(3500,4000,4500);  工资小于4500
select * from emp where sal>all(3500,4000,4500);    工资大于4500
select * from emp where sal<all(3500,4000,4500);    工资小于3500
any   大于最小的,小于最大的
all     大于最大的,小于最小的
  • (8) Utilização do desduplicação distinta
    linha de dados pode armazenar os mesmos dados na tabela de dados, a consulta padrão é um caso em que os dados de todas as linhas.
    Quando os dados duplicados não é significativo, você pode usar a deduplicação distinta.
    Nota: distinta na frente de nomes de colunas usando a cláusula select.
select deptno from emp;    查询员工表中的所有部门编号
查看员工表中有哪些部门,过滤重复数据
select distinct deptno from emp;
查询员工表中部门和职位
select deptno, job from emp;
查看每个部门的职位--去掉重复
select distinct deptno, job from emp;
Publicado 53 artigos originais · ganhou elogios 36 · vista 2415

Acho que você gosta

Origin blog.csdn.net/qq_44458489/article/details/104671850
Recomendado
Clasificación