Base de datos notas de estudio -Oracle (7)

El subyacente SQL lenguaje de consulta --DQL

1) El lenguaje de consulta básica SELECT ... FROM ... dónde ...;

  • (1) a partir de las palabras clave
    especificadas en la consulta de qué tabla
  • (2) el uso de un problema de alias de
    las columnas en el selecto dentro declaración, seleccionar una consulta determinada
    sintaxis: Después de salir a escribir un alias, separado por un espacio, en el medio se puede agregar o no añade como una palabra clave.
    Nota: Si desea alias de caracteres mayúsculas y minúsculas, o alias contiene caracteres o espacios, debe ir entre comillas dobles.
列明 别名
列明 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 una columna que se preguntó
    si se trata de todas las columnas de la tabla, en la parte posterior de select *
    Si se trata de una columnas específicas, escribir claramente por detrás de seleccionar aquellas columnas, separadas por comas.
select * from...
select id, name,age as 别名 from ....
  • (4) en la cláusula
    cláusula where utiliza para hacer las condiciones en los límites de la consulta
    (si está disponible con la cláusula select, update, delete)
    destacó:
    ① en la cláusula where, y si la condición es relativamente números, se puede utilizar un único
    comillas no lo hacen;
    ② en la cláusula where, si esa cadena, y la fecha y el número de tipos de
    datos se comparan, se debe ir entre comillas 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 en Oracle ---- cláusula where

  • (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) y o o palabras clave
    en la operación de SQL, si el resultado deseado es devuelto debe cumplir una serie de condiciones, y se utiliza para conectar estas condiciones;
    la operación de SQL, si el resultado deseado devuelto es uno de una pluralidad de condiciones se satisfacen a, o se utiliza para conectar estas condiciones.
查询底薪大于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) condiciones de uso como - búsqueda difusa
    fuzzy comodín de coincidencia de consultas:
    %: 0 para representar una pluralidad de caracteres
    _: representa cualquier carácter individual
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) y no está en uso
    Sintaxis: en (lista1, list2, list3 , ...) toma un valor igual a la lista
    no en (lista1, list2, list3 ...) no es igual a la lista de datos extraído
    lista de parámetros representa una lista de valores, cada lista separada por comas 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) el uso entre a1 y a2
    de datos (el intervalo entre A1 a A2, que comprende a1 y a2) un rango de valores para las consultas que cumplen las condiciones
    utilizadas en el tipo digital, tipo de cadena, y el intervalo de fechas tipo de datos.
查询底薪在1500~3000之间的员工信息
select * from emp where sal between 1500 and 3000;
select * from emp where sal>=1500 and sal<=3000;
  • (6) no es nula es nulo y
    un valor nulo es un valor especial, no se puede utilizar cuando se comparan =.
    Es igual a cero es nulo
    no es igual a cero no es nulo
查询提成为空的员工信息
select * from emp where comm is null;
查询提成不为空的员工信息
select * from emp where comm is not null;
  • (7) El uso de cualquiera y todas
    todas y cada una puede ser utilizado solo, con una necesidad de operador de comparación = >> << = uso con
>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) El uso de la deduplicación distinta
    fila de datos puede almacenar los mismos datos en la tabla de datos, la consulta por defecto es un caso en el que los datos de todas las líneas.
    Cuando los datos duplicados no es significativa, puede utilizar la deduplicación distinta.
    Nota: distinta frente a los nombres de columna utilizando la 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 artículos originales · ganado elogios 36 · vistas 2415

Supongo que te gusta

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