|
¿Qué es S.Q.L.
- Structured Query Language
- Establecido como el lenguaje de base de datos relacional estándar.
- Existen numerosos productos que soportan SQL, cada uno de ellos con pequeñas diferencias sin apenas importancia (p.ej. Oracle).
- El SQL estándar es el publicado por ANSI e ISO.
Características de S.Q.L.
- Lenguaje de definición de datos (DDL)
- Lenguaje de manipulación de datos (DML)
- Lenguaje de control de datos (DCL)
- Control de transacciones
- Commit, Rollback, Savepoint
- Restricciones de integridad
S.Q.L. La sentencia SELECT
S.Q.L. Sentencia Básica
- Ejemplos:
SELECT empno, ename FROM emp; SELECT * FROM emp;
S.Q.L. Etiquetas de Columnas por defecto
- Justificación de etiquetas y datos por defecto:
- Izquierda
fechas y caracteres
- Derecha
datos numéricos
- Etiquetas y datos, por defecto, se muestran en mayúsculas.
- Posibilidad del uso de alias de columnas.
S.Q.L. Alias de columna
- Un alias de columna renombra un encabezamiento de columna.
- Útil, especialmente, en cálculos.
- Sintaxis:
- Sigue inmediatamente al nombre de la columna mediante la palabra clave AS entre ellos.
- Se requiere encerrar un alias entre comillas dobles si contiene espacios en blanco, caracteres especiales o es case sensitive.
S.Q.L. Uso de Alias de columna
- SQL> SELECT ename AS nombre, sal salario, sal*12 AS “Salario Anual” FROM emp;
- Resultado:
S.Q.L. Expresiones aritméticas
- Operadores:
- Suma (+)
- Resta (-)
- Multiplicación (*)
- División (/)
- Cualquier sentencia SQL
- Precedencia de operadores: * / + -
- Operadores misma prioridad se evalúan de izq. a derecha.
- Paréntesis sobreescriben reglas de precedencia.
S.Q.L. Valor NULL
- NULL es un valor inaccesible, sin valor desconocido o inaplicable.
- NULL no representa ni un cero ni un blanco.
- Las expresiones aritméticas que contengan NULL se evalúan a NULL (<> cero).
S.Q.L. Operador de concatenación
- Representado por dos barras verticales: ||
- Vincula columnas o cadenas de caracteres.
- Crea una columna resultado que es una expresión de tipo carácter.
- Ejemplo:
S.Q.L. Filas duplicadas
- Las consultas, por defecto, muestran todas las filas, incluyendo las duplicadas.
- Las duplicadas se eliminan usando DISTINCT en la cláusula SELECT:
S.Q.L. Uso de la cláusula WHERE
- Establece un criterio de selección aplicable a la tabla de la que se quiere recuperar datos.
- Se especifica a continuación de FROM.
- La condición de WHERE permite comparar columnas con otras columnas, valores, literales, expresiones aritméticas o funciones.
S.Q.L. Sintaxis de WHERE
S.Q.L. Operadores de comparación
- Aplicables en las condiciones de la cláusula WHERE:
- = Igual que
- > Mayor que
- >= Mayor que o igual a
- < Menor que
- <= Menor que o igual a
- <> Distinto
- BETWEEN m AND n
Entre m y n (inclusive)
- IN(lista)
Se encuentra en la lista
- LIKE
Se ajusta a un patrón
- IS NULL
Es valor nulo
S.Q.L. Ejemplos de comparación
- SQL> SELECT ename, saL FROM emp
WHERE sal BETWEEN 1000 AND 1500;
- SQL> SELECT empno, ename, sal, mgr FROM EMP
WHERE mgr IN (7902, 7566, 7788);
- SQL> SELECT ename FROM emp
WHERE ename LIKE ‘_A%’;
- Sintaxis de LIKE:
- “%” representa cero o varios caracteres
- “_” representa un solo carácter
- SQL> SELECT ename, mgr FROM emp
WHERE mgr IS NULL;
S.Q.L. Operadores lógicos
- AND devuelve TRUE si ambas condiciones son TRUE.
- OR devuelve TRUE si alguna de las condiciones es TRUE.
- NOT devuelve TRUE si la siguiente condición es FALSE.
S.Q.L. Ejemplos con operadores lógicos
- SQL> SELECT empno, ename, job, sal FROM emp
WHERE sal >= 1100 AND job = ‘CLERK’;
- SQL> SELECT empno, ename, job, sal FROM emp
WHERE sal >= 2000 OR job = ‘MANAGER’;
- SQL> SELECT ename, job FROM emp
WHERE job NOT IN (‘CLERK’, ‘MANAGER’, ‘ANALYST’);
S.Q.L. Reglas de precedencia
- Siempre es aconsejable, para facilitar la lectura de la sentencia SQL, utilizar paréntesis que fuercen la prioridad de los operadores lógicos.
- Sin paréntesis, el orden de evaluación es:
- 1: Todos los operadores de comparación
- 2: NOT
- 3: AND
- 4: OR
S.Q.L. Recuperaciones ordenadas
- Las filas recuperadas en la sentencia SELECT, si no se especifica nada, no tienen ningún orden determinado.
- Se pueden ordenar con la cláusula ORDER BY siempre al final de una sentencia SELECT.
- ASC
Orden ascendente. Por defecto.
- DESC
Orden descendente.
S.Q.L. Sintaxis de ORDER BY
|