Vous êtes sur la page 1sur 46

Escritura de Sentencias SQL SELECT Bsicas

Capacidades de las Sentencias SQL SELECT


Proyeccin

Seleccin

Tabla 1 Unin

Tabla 1

Tabla 1

Tabla 2

Sentencias SELECT Bsicas


SELECT FROM *|{[DISTINCT] column|expression [alias],...} table;

SELECT identifica las columnas what FROM identifica la tabla which

Seleccin de Todas las Columnas


SELECT * FROM departments;

Seleccin de Columnas Especficas


SELECT department_id, location_id FROM departments;

Escritura de Sentencias SQL


Las sentencias SQL no son sensibles a maysculas/minsculas. Las sentencias SQL pueden ocupar una o ms lneas. Las palabras clave no se pueden abreviar ni dividir entre lneas. Las clusulas suelen estar colocadas en lneas separadas. Los sangrados se utilizan para mejorar la legibilidad.

Expresiones Aritmticas
Cree expresiones con datos de nmero y fecha mediante operadores aritmticos.
Operador + Descripcin Suma Resta

*
/

Multiplicacin
Divisin

Uso de Operadores Aritmticos


SELECT last_name, salary, salary + 300 FROM employees;

Prioridad de Operador
* / +
_
La multiplicacin y la divisin tienen prioridad sobre la suma y la resta. Los operadores de idntica prioridad se evalan de izquierda a derecha. Los parntesis se utilizan para forzar evaluaciones prioritarias y para clarificar sentencias.

Prioridad de Operador
SELECT last_name, salary, 12*salary+100 FROM employees;

Uso de Parntesis
SELECT last_name, salary, 12*(salary+100) FROM employees;

Definicin de un Valor Nulo


Un valor nulo es un valor no disponible, no asignado, desconocido, o no aplicable. Un valor nulo no es lo mismo que cero ni que un espacio en blanco.
SELECT last_name, job_id, salary, commission_pct FROM employees;

Valores Nulos en Expresiones Aritmticas


Las expresiones aritmticas que contienen un valor nulo tienen una evaluacin nula.
SELECT last_name, 12*salary*commission_pct FROM employees;

Definicin de un Alias de Columna


Un alias de columna: Cambia el nombre de una cabecera de columna. Resulta til con clculos. Se sita inmediatamente detrs del nombre de la columna, tambin puede existir la palabra clave opcional AS entre el nombre de la columna y el alias. Requiere comillas dobles si contiene espacios, caracteres especiales o si es sensible a maysculas/minsculas.

Uso de Alias de Columna


SELECT last_name AS name, commission_pct comm FROM employees;

SELECT last_name "Name", salary*12 "Annual Salary" FROM employees;

Operador de Concatenacin
Un operador de concatenacin: Concatena columnas o cadenas de caracteres a otras columnas. Est representado por dos barras verticales (||). Crea una columna resultante que es una expresin de caracteres.

Uso del Operador de Concatenacin


SELECT FROM last_name||job_id AS "Employees" employees;

Cadenas de Caracteres Literales


Un literal es un carcter, un nmero o una fecha incluida en la lista SELECT. Los valores literales de caracteres y fecha se deben escribir entre comillas simples. Cada cadena de caracteres tiene una salida para cada fila devuelta.

Uso de Cadenas de Caracteres Literales


SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees;

Filas Duplicadas
La visualizacin por defecto de las consultas son todas las filas, incluidas las filas duplicadas.
SELECT department_id FROM employees;

Eliminacin de Filas Duplicadas


Elimine filas duplicadas mediante la palabra clave DISTINCT de la clusula SELECT.
SELECT DISTINCT department_id FROM employees;

Visualizacin de la Estructura de Tabla


DESCRIBE employees

Limitacin de Filas Mediante una Seleccin EMPLOYEES

recuperar todos los empleados del departamento 90

Limitacin de las Filas Seleccionadas


Restrinja las filas devueltas utilizando la clusula WHERE.
SELECT FROM [WHERE *|{[DISTINCT] column|expression [alias],...} table condition(s)];

La clusula WHERE sigue a la clusula FROM.

Uso de la Clusula WHERE


SELECT employee_id, last_name, job_id, department_id FROM employees WHERE department_id = 90 ;

Cadenas de Caracteres y Fechas


Las cadenas de caracteres y los valores de fechas se escriben entre comillas simples. Los valores de caracteres son sensibles a maysculas/minsculas y los de fecha, al formato. El formato de fecha por defecto es DD-MON-RR.
SELECT last_name, job_id, department_id FROM employees WHERE last_name = 'Whalen';

Condiciones de Comparacin
Operador
= > >= < <= <>

Significado
Igual que Mayor que Mayor o igual que Menor que Menor o igual que No igual a

Uso de Condiciones de Comparacin


SELECT last_name, salary FROM employees WHERE salary <= 3000;

Otras Condiciones de Comparacin


Operador Significado

BETWEEN ...AND...
IN(set) LIKE IS NULL

Entre dos valores (ambos inclusive),

Coincide con cualquiera de una lista de valores Coincide con un patrn de caracteres Es un valor nulo

Uso de la Condicin BETWEEN


Utilice la condicin BETWEEN para mostrar filas incluidas en un rango de valores.
SELECT last_name, salary FROM employees WHERE salary BETWEEN 2500 AND 3500;

Lmite inferior Lmite superior

Uso de la Condicin IN
Utilice la condicin IN de pertenencia para comprobar si hay valores en una lista.
SELECT employee_id, last_name, salary, manager_id FROM employees WHERE manager_id IN (100, 101, 201);

Uso de la Condicin LIKE


Utilice la condicin LIKE para realizar bsquedas con comodines de valores vlidos de la cadena de bsqueda. Las condiciones de bsqueda pueden contener caracteres literales o nmeros:
% indica cero o muchos caracteres. _ indica un carcter.

SELECT FROM WHERE

first_name employees first_name LIKE 'S%';

Uso de la Condicin LIKE


Puede combinar caracteres de coincidencia de patrones.
SELECT last_name FROM employees WHERE last_name LIKE '_o%';

Puede utilizar el identificador ESCAPE para buscar los smbolos % y _ reales.

Uso de las Condiciones NULL


Compruebe si hay valores nulos con el operador IS NULL.
SELECT last_name, manager_id FROM employees WHERE manager_id IS NULL;

Condiciones Lgicas
Operador Significado

AND
OR

Devuelve TRUE si las dos condiciones componentes son verdaderas


Devuelve TRUE si alguna de las condiciones componentes es verdadera Devuelve TRUE si la siguiente condicin es falsa

NOT

Uso del Operador AND


AND requiere que las dos condiciones sean verdaderas.
SELECT FROM WHERE AND employee_id, last_name, job_id, salary employees salary >=10000 job_id LIKE '%MAN%';

Uso del Operador OR


OR requiere que una de las condiciones sea verdadera.
SELECT FROM WHERE OR employee_id, last_name, job_id, salary employees salary >= 10000 job_id LIKE '%MAN%';

Uso del Operador NOT


SELECT last_name, job_id FROM employees WHERE job_id NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');

Reglas de Prioridad
Orden de Evaluacin 1 2 3 4 5 6 7 8 Operador Operadores aritmticos Operador de concatenacin Condiciones de comparacin IS [NOT] NULL, LIKE, [NOT] IN [NOT] BETWEEN condicin lgica NOT condicin lgica AND condicin lgica OR

Las reglas de prioridad se sustituyen mediante el uso de parntesis.

Reglas de Prioridad
SELECT FROM WHERE OR AND last_name, job_id, salary employees job_id = 'SA_REP' job_id = 'AD_PRES' salary > 15000;

Reglas de Prioridad
Utilice parntesis para forzar la prioridad.
SELECT FROM WHERE OR AND last_name, job_id, salary employees (job_id = 'SA_REP' job_id = 'AD_PRES') salary > 15000;

Clusula ORDER BY
Ordene filas con la clusula ORDER BY
ASC: orden ascendente, por defecto DESC: orden descendente

La clusula ORDER BY aparece en ltimo lugar en la sentencia SELECT.


SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date ;

Ordenacin en Orden Descendente


SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date DESC ;

Ordenacin segn Alias de Columna


SELECT employee_id, last_name, salary*12 annsal FROM employees ORDER BY annsal;

Resumen
En esta leccin, debera haber aprendido a:

Utilizar la clusula WHERE para restringir filas de salida


Utilizar las condiciones de comparacin

Utilizar las condiciones BETWEEN, IN, LIKE y NULL


Aplicar los operadores lgicos AND, OR y NOT
*|{[DISTINCT] column|expression [alias],...} table condition(s)] {column, expr, alias} [ASC|DESC]];

Utilizar la clusula ORDER BY para ordenar filas de salida


SELECT FROM [WHERE [ORDER BY

Ejercicios

Vous aimerez peut-être aussi