EXES
EL MODELO RELACIONAL
EL LENGUAJE SQL
FUNCIONES SQL
FUNCIONES DE GRUPO
JOIN
SUBCONSULTAS
D.M.L.
D.D.L.
VISTAS
ENTORNO SQL PLUS
PL/SQL
GENERALIDADES PL/SQL
CURSORES
EXCEPCIONES
FUNCIONES
CRÉDITOS
LA COMPAÑÍA
 
Área de Base de datos
  Manual de Iniciación a Oracle
www.exes.es
Tel: 902 360 417
   Principal
 Exes   Contactar 
Tema 2 El Lenguaje S.Q.L. | Manual de Iniciación a Oracle

TEMA 2
EL LENGUAJE S.Q.L.

¿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)
    • Create, Alter, Drop.
  • Lenguaje de manipulación de datos (DML)
    • Insert, Update, Delete.
  • Lenguaje de control de datos (DCL)
    • Grant, Revoke.
  • Control de transacciones
    • Commit, Rollback, Savepoint
  • Restricciones de integridad
    • Referencial, datos.

S.Q.L.
La sentencia SELECT

La sentencia SELECT

S.Q.L.
Sentencia Básica

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:
Resultado del ejemplo de Uso de Alias de columna

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:
Ejemplo de operador de concatenación

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:
Ejemplo de uso de DISTINCT para eliminar filas duplicadas

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

Sintaxis de WHERE
  • Ejemplo:
Ejemplo de 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

Sintaxis de ORDER BY
  • Ejemplo:
Ejemplo de uso de sintaxis de ORDER BY
··> Ver todos los cursos
··> Si necesitas más información, contáctanos aquí
 
 
 
Sello de Calidad   Sello de Calidad
  EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es