1 SQL
1 SQL
INGENIERIA DE SISTEMAS
SEMESTRE I-2015
El SQL
SQL
Que es SQL?
SQL es un estndar, un lenguaje estructurado para consultas
SQL te permite acceder y manejar bases de datos
SQL es un Estndar (ANSI American National Standards Institute)
SQL
Descripcin de la sentencia SELECT
La herramienta fundamental de SQL es la sentencia SELECT, que
permite seleccionar registros desde las tablas de la base de datos,
devolviendo aquellos que cumplan las condiciones establecidas y
pudiendo presentar el resultado en el orden deseado.
Sintaxis de la sentencia SELECT
SQL
Utilidad de alias
El alias de columna renombra un encabezamiento de columna. Se
especifica despus de la columna en la lista SELECT con un espacio en
blanco de separacin. Por defecto, los encabezamientos alias
aparecern en maysculas.
Si el alias contiene espacios, caracteres especiales (como # o $) o es
sensible a maysculas y minsculas, se debe encerrar el alias entre
comillas dobles ( ) .
Se puede incluir la palabra clave AS delante del alias con el fin de
cumplir con el estndar ANSI SQL 92.
SQL
Operadores aritmticos
Una expresin aritmtica puede contener nombres de columnas, valores
numricos constantes y operadores aritmticos.
Se pueden usar los operadores aritmticos en cualquier sentencia de
SQL excepto en la clusula FROM.
Precedencia de Operadores
La multiplicacin y la divisin tienen prioridad sobre la suma y la resta.
Los operadores de la misma prioridad se evalan de izquierda a
derecha.
Los parntesis pueden ser usados para cambiar la prioridad de
evaluacin y para clarificar las sentencias.
SQL
SQL
Operador de concatenacin
El operador de concatenacin est representado por dos barras verticales ( ||
). Se utiliza para vincular columnas con otras columnas, expresiones
aritmticas o valores constantes. Como resultado de la concatenacin se
obtiene una columna que es una expresin de tipo carcter.
SQL
La palabra clave DISTINCT
Para eliminar las filas duplicadas en el resultado, se debe incluir la
palabra clave DISTINCT en la clusula SELECT inmediatamente despus
del comando.
DISTINCT se aplica a todas las columnas de la lista de la clusula
SELECT. Si hay varias columnas en la clusula SELECT, el resultado de
aplicar DISTINCT representa las diferentes combinaciones de las
columnas.
SQL
El valor Nulo (NULL)
Si una fila carece de un valor para una columna en particular, se dice que
contiene un null.
NULL es un valor inaccesible, sin valor, desconocido o inaplicable. No
representa ni un cero ni un espacio en blanco. El cero es un nmero y el
espacio es un carcter.
Las columnas de cualquier tipo de datos pueden contener valores nulos, a
menos que hayan sido definidas como NOT NULL o como clave primaria
(PRIMARY KEY) cuando se cre la tabla.
Todos los operadores (exceptuando el de concatenacin) retornan NULL
cuando se les da un operando nulo.
Valores Nulos en Expresiones Aritmticas
Si en una expresin, cualquier valor de una columna es nulo, el resultado
tambin lo es. Por ejemplo, si se intenta ejecutar una divisin por cero, se
obtendr un error. Sin embargo, si se divide por un valor nulo, el resultado es
nulo.
SQL
SQL
Tambin debe crear la tabla JOB_GRADES con la siguiente restructura:
JOB_ID varchar2(10), Grade number(2)
Los datos a insertar son los siguientes:
SQL
Ejercicios
SQL
RESTRICCION Y ORDENAMIENTO DE DATOS
Es posible limitar la informacin recuperada especificando criterios, y
cmo visualizar los resultados en un orden especfico. Para restringir el
conjunto resultado se utilizan condiciones de comparacin o condiciones
lgicas.
Descripcin de la clusula WHERE
SQL
Sintaxis de la clusula WHERE
En la siguiente figura se muestra la sintaxis de la sentencia SELECT con
la clusula WHERE, la cual se ubica a continuacin de la clusula FROM.
Se pueden usar nombres de columnas o expresiones en la clusula
WHERE, pero no alias de columnas. No es necesario incluir los nombres
de columnas en la clusula SELECT para poder usarlos en la clusula
WHERE
SQL
Condiciones de comparacin
Los operadores de comparacin se emplean en la clusula WHERE para
comparar una expresin con otra. El resultado de la comparacin puede ser
TRUE, FALSE, o UNKNOWN.
SQL
Algunos ejemplos de la clusula WHERE
SQL
A menudo es ms fcil encontrar las filas que no cumplen una condicin, que
aquellas que s lo hacen y podramos utilizar la negacin de algunos
operadores.
SQL
Operador LIKE
No siempre se conoce el valor exacto a buscar. Se pueden seleccionar
filas que coincidan con un patrn de caracteres usando el operador
LIKE. La operacin de coincidencia se conoce como una bsqueda que
incluye comodines. Se pueden utilizar dos smbolos para construir la
bsqueda:
% : Representa cualquier secuencia de cero o ms caracteres
_ : Denota un solo carcter
Cuando se necesita una coincidencia exacta para los comodines % y
_, se usa la opcin ESCAPE. Dicha opcin especifica cul es el carcter
ESCAPE.
El operador LIKE se puede usar como una abreviatura para algunas
comparaciones BETWEEN.
SQL
SQL
Cuando se necesita una coincidencia exacta para los comodines % y
_, se usa la opcin ESCAPE. Dicha opcin especifica cul es el carcter
ESCAPE.
El operador LIKE se puede usar como una abreviatura para algunas
comparaciones BETWEEN.
Operadores IS NULL e IS NOT NULL
Los operadores IS NULL e IS NOT NULL testean valores que son nulos.
Si se comparan valores nulos usando los otros operadores (=, >, etc.) el
resultado ser siempre FALSO porque un valor nulo no puede ser igual,
mayor, distinto, etc. a otro valor.
SQL
Condiciones lgicas
Un operador lgico combina los resultados de dos condiciones para
producir un nico resultado basado en ellos, o invertir el resultado de
una condicin. La tabla siguiente lista los operadores lgicos.
SQL
El operador AND retorna VERDADERO si ambas condiciones evaluadas son
VERDADERAS, mientras que el operador OR retorna VERDADERO si alguna de
las condiciones es VERDADERA.
En los siguientes ejemplos, las condiciones son las mismas pero el operador es
distinto. El resultado obtenido en cada caso ser muy diferente.
SQL
La clusula ORDER BY
El orden de las filas recuperadas por el resultado de una consulta es
indefinido. El SGBD no puede buscar y traer las filas en el mismo orden
para una consulta ejecutada dos veces. La clusula ORDER BY puede
ser utilizada para ordenar las filas. Si se usa, se ubica como la ltima
clusula en el comando SELECT. Se puede usar un alias de columna en
la clusula ORDER BY.
SQL
Ordenamiento de los Datos por Defecto
El orden por defecto es ascendente:
Los valores numricos se muestran con el valor ms bajo en primer
lugar, por ejemplo 1 a 999.
Los valores de fecha se muestran con el valor ms temprano en primer
lugar, por ejemplo 01-01-1992 antes que 01-01-1995.
Los valores de caracteres se muestran en orden alfabtico, por ejemplo
primero la A y ltimo la Z.
En el servidor Oracle , los valores nulos se muestran ltimos en las
secuencias ascendentes y primeros en las secuencias descendentes.
SQL
Es posible utilizar esta sentencia para presentar los datos de una tabla
de diferentes maneras en cuanto al orden en que se muestran sus filas.
Para invertir el orden de recuperacin de las filas, se especifica el
comando DESC despus del nombre de la columna en la clusula
ORDER BY.
SQL
Se puede ordenar el resultado de una consulta por ms de una columna.
El lmite es la cantidad de columnas de la tabla. En la clusula ORDER
BY se especifican los nombres de las columnas separados por comas. Si
se desea invertir el orden de una columna, se especifica DESC despus
de su nombre o posicin.
SQL
Reglas de precedencia
Se pueden combinar los operadores AND y OR en la misma expresin
lgica. Los resultados de todas las condiciones se combinan en el orden
determinado por la precedencia de los operadores conectores. Cuando
los operadores tienen igual precedencia, se ejecutan de izquierda a
derecha. En la figura se indican los niveles de precedencia entre los
operadores.
SQL
Ejercicios