Sintaxis básica de Oracle
Una declaración Select y filtrado
(1) Gramática:
SELECT *|[DISTINCT] 字段列表 FROM 表名 [WHERE 筛选条件][ORDER BY ASC/DESC];
(2) Tenga en cuenta que
① no se distingue entre mayúsculas y minúsculas
② SQL se puede escribir en una o más líneas
③ Las palabras clave no se pueden abreviar ni dividir en líneas
④ Cada cláusula generalmente debe escribirse en líneas separadas
Use sangría para mejorar la legibilidad de la declaración
(3 ) Use
números de operador numérico Y la fecha puede usar operadores aritméticos
(4) Precedencia de operador
① La precedencia de multiplicación y división es mayor que la de suma y resta
② Los operadores con la misma precedencia se ejecutan de izquierda a derecha
③ Los operadores entre paréntesis se ejecutan primero
④ Las expresiones matemáticas con valores nulos son todas
El alias de la columna de valor vacío (5)
es una columna renombrada, que es conveniente para el cálculo. También puede ir seguida del nombre de la columna. También puede agregar ' AS ' entre las el nombre de la columna y el alias . El alias utiliza comillas dobles para incluir espacios o caracteres especiales y distingue entre mayúsculas y minúsculas
SELECT last_name AS name FROM employees;
或者
SELECT last_name "name" FROM employees;
(6) Carácter de conexión
Utilice "||" para conectar columna a columna, columna a carácter.
Por ejemplo, para conectar el nombre y la identificación del trabajo:
SELECT last_name||job_id AS "Employees" FROM employees;
(7) Operación de comparación
① El operador de comparación básico
"== 、>,> =, <, <=, <> no es igual a
,: = símbolo de asignación" ②Otros operadores de comparación
BETWEEN… AND, IN (), LIKE, IS NULL
③ Carácter de escape Para
evitar el uso del carácter de escape para símbolos especiales, simplemente agregue '\' antes del símbolo especial y luego ESCAPE ''.
(8) Operación lógica
① AND lógica AND, todo verdadero es verdadero
② OR lógico OR, si uno verdadero es verdadero
③ NO negación lógica, invertida
(9) Prioridad
算数运算符>连接符>比较符>IN(),LIKE,IS NULL>BETWEEN....AND>NOT>AND>OR
(10)
Cadena de caracteres Una cadena de caracteres puede ser un carácter, número o fecha en la lista SELECT La fecha y el carácter solo pueden aparecer entre comillas simples .
(11) Eliminar filas duplicadas
Use la palabra clave " DISTINCT " en la cláusula SELECT para eliminar filas y registros duplicados
(12) Mostrar la estructura de la tabla
Use el comando DESCRIBE para indicar la estructura de la tabla
DESC[RIBE] 表名;
Dos funciones
1 Las funciones de una sola línea se
utilizan para manipular objetos de datos, aceptar parámetros y devolver un resultado, transformar solo una línea y devolver un resultado por línea. El tipo de datos se puede convertir y el parámetro se puede anidar. El parámetro puede ser un columna o un valor.
(1) Función de caracteres
① Funciones de control de casos
LOWER, UPPER, INITCAP
② Funciones de control de caracteres
CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD, TRIM, REPLACE
③ Funciones numéricas
ROUND, TRUNC, MOD
④ Las funciones de fecha
se agregan a la fecha O reste un número y el resultado seguirá siendo una fecha. Restar las dos fechas devuelve el número de días entre las fechas.
Puede dividir el número por 24 para sumar o restar el número de días hasta la fecha.
Conversión de tres tipos
1 Conversión implícita de tipos de datos
Oracle completa automáticamente las siguientes conversiones.2
Conversión explícita
(1) La conversión de fecha de la función TO_CHAR
debe estar entre comillas simples y distingue entre mayúsculas y minúsculas. Puede incluir cualquier formato de fecha válido. Las fechas están separadas por comas., Use comillas dobles para agregar caracteres a la fecha
TO_CHAR(date,'转换格式');
案例:
SELECT TO_CAHR(sysdate,'yyyy-mm-dd hh:mi:ss') FROM dual;
(2) Conversión de la función TO_DATA a caracteres
TO_DATA(char,[,'转换格式']);
案例:
TO_DATA(‘2012年10月29日’,'yyyy “年” mm "月" dd "日"') FROM dual;
(3) Conversión de la función TO_CHAR a números.
Los siguientes son varios formatos que se utilizan a menudo en la función TO_CHAR
TO_CHAR(number,'转换格式');
案例:
SELECT TO_CHAR(salary,'$99,999,00') SALARY FROM employee WHERE last_name = 'Ernst';
(4) Función TO_NUMBER para convertir caracteres
TO_NUMBER(char,'转换格式');
案例:
TO_NUMBER('¥1,234,567,890.00','L999,999,999,999.99') FROM dual;
Cuatro funciones generales
1 La función NVL
convierte un valor nulo en un valor conocido
. Se pueden usar tipos de datos como fecha, carácter y número
NVL (expr1, expr2)
NVL (expr1, expr2, expr3) es similar al operador condicional ternario
2 Función
NULLIF NULLIF ( expr1, expr2); Equal devuelve nulo; de lo contrario, devuelve el valor de datos debajo de la columna expr1.
3
En comparación con NVL, la función COALESCE COALESCE puede manejar múltiples valores alternos al mismo tiempo. Si la primera expresión está vacía, la siguiente Se devuelve la expresión. Otros parámetros son COALESCE.
Control lógico de cinco condiciones
1
Sintaxis de la expresión CASE :
CASE expr WHEN 条件1 THEN 语句一
[WHEN 条件2 THEN 语句一
......
ELSE 语句]
END
结果作为一个字段
Caso:
2 Función DECODE
Sintaxis:
DECODE(字段|表达式,search1,result1,
[search1,result1,..],
[,default])
Caso: