LA CLASULA SELECT
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
Se encierra los nombres de campos entre corchetes porque pueden tener
espacios incrustados u otros caracteres no deseados. Tambin puede ser:
SELECT ApPaterno, ApMaterno, Nombres
LA CLASULA FROM
CAMPOS CALCULADOS
SQL puede incluir campos calculados cuyos valores se calcular a partir de los
valores de datos almacenados. Para solicitar un campo calculado, se especifica
una expresin SQL en la lista de seleccin. Las expresiones SQL pueden contener
sumas, restas, multiplicaciones y divisiones.
Ejemplo: Si tenemos el precio de venta (Pventa) y el precio de costo (Pcosto),
queremos saber la ganancia por producto
SELECT NombreProd, Pventa Pcosto
FROM Productos
DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados.
Para que los valores de cada campo listado en la instruccin SELECT se incluyan
en la consulta deben ser nicos. Por ejemplo, varios empleados listados en la
tabla Empleados pueden tener el mismo apellido. Si dos registros contienen
Lpez en el campo Apellido, la siguiente instruccin SQL devuelve un nico
registro:
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
DISTINCTROW
Devuelve los registros diferentes de una tabla; a diferencia del predicado anterior
que slo se fijaba en el contenido de los campos seleccionados, ste lo hace en el
contenido del registro completo independientemente de los campos indicados en
la clusula SELECT.
LA CLASULA ORDER BY
Los registros devueltos por una consulta estarn en el mismo orden en que se
encontraron en la tabla. SQL puede ordenar los resultados de una consulta
mediante la clusula ORDER BY seguida de una lista de especificaciones de la
ordenacin separadas por comas. Tambin se puede establecer si el orden ser
ascendente o descendente mediante las palabras ASC y DESC. Si no especifica
ninguna opcin, se asumir un orden ascendente en la clasificacin.
Ejemplo: Visualizar los campos Apellidos, Nombres de los alumnos ordenados
primero por el apellido y luego por el nombre.
SELECT A_Paterno, A_Materno, Nombres
FROM Alumnos
ORDER BY A_Paterno, A_Materno, Nombres
Ejemplo: Visualizar todos los campos ordenados por Edad desde el mayor al
menor.
SELECT *
FROM Alumnos
ORDER BY Edad DESC
LA CLASULA WHERE
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
Si slo se desea seleccionar parte de las filas de una tabla se emplea la clusula
WHERE seguida de una condicin de bsqueda que especifica las filas que se
desean recuperar.
Ejemplos: Si deseamos ver la lista de alumnos con apellido Gonzales
SELECT A_Paterno, A_Materno, Nombres
FROM Alumnos
WHERE A_Paterno = Gonzales
Para construir una clusula WHERE puede utilizar los siguientes operadores:
Operador Funcin
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
= Igual a
<> No igual a
BETWEEN (ENTRE) Dentro de un rango de valores
LIKE (COMO) Coincide con un modelo
IN (EN) Contenido en una lista de valores
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
El Operador BETWEEN
Este operador devuelve todos los valores de registros que estn entre los lmites
especificados. Implica el uso de tres expresiones SQL. La primera expresin
define el valor a comprobar, la segunda y tercera expresin definen los extremos
superior e inferior del rango a comprobar. Los tipos de datos de las tres
expresiones deben ser comparables.
Ejemplo: Visualizar el cdigo, Apellidos, Nombres, Edad de los alumnos que
tengan entre 18 y 23 aos
SELECT Codigo, A_Paterno, A_Materno, Nombres, Edad
FROM Alumnos
WHERE Edad BETWEEN 18 AND 23
El Operador IN
Se utiliza para recuperar registros que coinciden con una lista de valores.
Ejemplo: Visualizar cdigo, Apellidos, Nombres, escuela y ciclo de los alumnos
del quinto y octavo ciclo.
SELECT Codigo, A_Paterno, A_Materno, Nombres, Escuela, Ciclo
FROM Alumnos
WHERE Ciclo IN (V, VIII)
El Operador LIKE
Comprueba si el valor de dato de una columna se ajusta a un patrn
especificado. El patrn es una cadena que puede incluir uno o ms caracteres
comodines.
El comodn _ reemplaza a un carcter. (? En otros lenguajes)
El comodn % reemplaza a cero o ms caracteres. (* en otros lenguajes)
Ejemplo: Visualizar los campos Apellidos, Nombres de los alumnos cuyo nombre
tenga la letra a en el segundo lugar.
SELECT A_Paterno, A_Materno, Nombres
FROM Alumnos
WHERE Nombres LIKE ?a%
Ejemplo: Visualizar los datos de los alumnos cuyo cdigo tenga 3 dgitos y
empiece con 1.
SELECT * FROM Alumnos
WHERE Codigo LIKE 1__
Ejemplo: Visualizar los datos de los alumnos cuyo apellido paterno comience con
las letras de la C a la F.
SELECT * FROM Alumnos
WHERE A_Paterno LIKE [C-F]%
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
FUNCIONES AGREGADAS DE SQL
Funciones Descripcin
Nota: Como habr notado SQL asigna nombres de columnas a las vistas. Hay
ocasiones en que tales nombres podran no ser los ms adecuados. En este caso
se utiliza la clusula AS para asignarles un nombre ms adecuado.
Ejemplo: Escribir una instruccin SQL que nos muestre la cantidad de alumnos,
la edad promedio, la mayor y menor edad.
SELECT COUNT(Codigo) AS CantAlumnos,
AVG (Edad) AS PromedioEdad,
MAX(Edad) AS [Mayor Edad],
MIN(Edad) AS [Menor Edad]
FROM Alumnos
Ejemplo: Escribir una sentencia SQL que nos muestre la edad promedio de los
alumnos, cuya escuela sea Informtica.
SELECT AVG (Edad) AS [Edad Promedio]
FROM Alumnos
WHERE Escuela =Informtica
Ejemplo: Escribir una sentencia SQL que nos muestre la edad mnima de los
alumnos del primer ciclo
SELECT MIN (Edad) AS [Edad Mnima]
FROM Alumnos
WHERE Ciclo =I
LA CLASULA TOP
Se utiliza para mostrar slo unos cuantos registros de la parte superior o inferior
de un conjunto de registros grandes. Se utiliza con una instruccin de
ordenacin para limitar el nmero de registros del conjunto de resultados.
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
Ejemplo: Visualizar los datos de los 3 alumnos con mayor edad.
SELECT TOP 3 *
FROM Alumnos
ORDER BY Edad DESC
LA CLASULA GROUP BY
Ejemplo: Escribir una sentencia SQL que nos muestre el promedio de edades por
Escuela
SELECT Escuela, AVG (Edad) AS PromedioEdad
FROM Alumnos
GROUP BY Escuela
LA CLASULA HAVING
Ejemplo: Escribir una sentencia SQL que nos muestre el promedio de edad por
escuela y adems que dicho promedio sea mayor a 18
SELECT Escuela, AVG (Edad)
FROM Alumnos
GROUP BY Escuela
HAVING AVG (Edad)>30
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
SQL CON UNA TABLA
Crear la tabla Trabajadores con los campos Cod_Trab, Paterno, Materno, Nombres, Cargo,
Salario, Ciudad, Sexo.
Seleccionar todos los datos de los trabajadores cuya ciudad comience con la letra C
select *
from Trabajadores
where Ciudad LIKE 'C*'
Seleccionar apellidos, salario y cargo para los empleados que ganen mas de 100 y que la
ciudad de procedencia sea Lima, Ica y Piura
select *
from Trabajadores
where Sexo = Masculino"
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza