Sunteți pe pagina 1din 8

LENGUAJE DE CONSULTAS ESTRUCTURADO (SQL)

El Lenguaje de Consultas Estructurado o Lenguaje de Estructuras de Consultas


(SQL; Structured Query Language) es un poderoso lenguaje estndar para la
manipulacin de bases de datos. Nos permite organizar, gestionar y recuperar
datos de una tabla de base de datos, establecer correspondencia entre datos
relacionados de varias tablas y manipular la estructura de las bases de datos.
Normalmente se utiliza para crear consultas que extraen datos de las bases de
datos, aunque muchas instrucciones SQL realizan otras funciones en las bases
de datos, por ejemplo, crear tablas y campos.
Las instrucciones SQL se dividen en dos categoras:

Instrucciones DML (Data Manipulation Languague, Lenguaje de Manipulacin


de Datos) diseadas para recuperar registros de las bases de datos.

Instrucciones DDL (Data Definition Languague, Lenguaje de Definicin de


Datos) que permiten utilizar las consultas SQL para crear componentes de la
base de datos, por ejemplo, tablas, campos e ndices.

LA CLASULA SELECT
En el ncleo de cualquier consulta de recuperacin de datos se encuentra la
clusula SELECT. Indica al motor de base de datos que campos debe recuperar,
los cuales van separados por una coma.
Una forma comn de la clusula SELECT es:
SELECT *
Esta clusula devuelve todos los campos encontrados en la fuente de registros
especificada. SQL permite utilizar el * en lugar de

la lista de seleccin como

abreviatura de todas las columnas. Este tipo de orden es prctico, ya que no es


necesario conocer los nombres de los campos de una tabla para recuperarlos.
Sin embargo puede resultar poco eficaz recuperar todas las columnas de una

Escuela de Ingeniera de Sistemas

Ing. Ana Doris M. Barrera Loza

tabla cuando solo se necesitan dos. Por ello es recomendable especificar que
campos se desea recuperar.
Ejemplo: Recuperar el contenido de los Apellidos y Nombres almacenados en una
tabla.
SELECT [A Paterno], [A Materno], [Nombres]
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 clusula SELECT no est completa sin la clusula FROM.

LA CLASULA FROM
La clusula FROM indica la fuente de datos que utilizar la consulta para
recuperar los registros; esta fuente de datos puede ser una tabla u otra consulta
almacenada.
La clusula FROM funciona con la clusula SELECT.
Ejemplo: Recuperar todos los registros de una tabla Datos, utilice la siguiente
instruccin SQL:
SELECT *
FROM Alumnos

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
Escuela de Ingeniera de Sistemas

Ing. Ana Doris M. Barrera Loza

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:
SELECT DISTINCT Apellido FROM Empleados;
Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos
campos indicados en la clusula SELECT posean un contenido diferente.

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
La clusula WHERE se utiliza de dos formas:

Para indica limitar los registros que recupera, en funcin de los criterios
indicados.

Para vincular dos o ms tablas dentro de una consulta.

Escuela de Ingeniera de Sistemas

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
Tambin se puede establecer varias condiciones WHERE mediante los operadores
AND , OR y NOT.
Visualizar la lista de alumnos de la escuela de Sistemas y a la vez se
llamen Juan
SELECT A_Paterno, A_Materno, Nombres, Escuela
FROM Alumnos
WHERE Escuela = Sistemas AND Nombres = Juan
Visualizar los datos de los alumnos que viven de Industrial o que se
apellidan Caldas
SELECT *
FROM Alumnos
WHERE Escuela = Industrial OR A_Paterno = Caldas
Visualizar los datos de los alumnos que no sean de la escuela de
Sistemas.
SELECT * FROM Alumnos
WHERE NOT Escuela = Sistemas

Operadores en Clusulas WHERE


Para construir una clusula WHERE puede utilizar los siguientes operadores:
Operador
<
<=
>
>=
=
<>
BETWEEN (ENTRE)
LIKE (COMO)
Escuela de Ingeniera de Sistemas

Funcin
Menor que
Menor o igual que
Mayor que
Mayor o igual que
Igual a
No igual a
Dentro de un rango de valores
Coincide con un modelo
Ing. Ana Doris M. Barrera Loza

IN (EN)

Contenido en una lista de valores

Ejemplo: Visualizar la lista de alumnos menores de 23 aos


SELECT A_Paterno, A_Materno, Nombres, Edad
FROM Alumnos
WHERE Edad < 23
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.

Escuela de Ingeniera de Sistemas

Ing. Ana Doris M. Barrera Loza

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]%

FUNCIONES AGREGADAS DE SQL


Los estndares de SQL definen un pequeo conjunto de funciones que debern
encontrarse en todos los sistemas que acaten las normas de SQL.
SQL proporciona las funciones que se muestran a continuacin:
Funciones

Descripcin

AVG()

Calcula el valor promedio de una columna

COUNT()

Cuenta el nmero de valores en una columna.

SUM()

Calcula la sumatoria total de una columna

MAX()

Encuentra el mayor valor en una columna.

MIN()

Encuentra el valor ms pequeo en una columna

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],
Escuela de Ingeniera de Sistemas

Ing. Ana Doris M. Barrera Loza

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.

Ejemplo: Visualizar los datos de los 3 alumnos con mayor edad.


SELECT TOP 3 *
FROM Alumnos
ORDER BY Edad DESC

LA CLASULA GROUP BY
La clusula GROUP BY es una consulta agrupada, ya que agrupa los datos de
las tablas fuente y procede una nica fila sumaria por cada grupo de filas. Las
columnas indicadas en la clusula GROUP BY se denomina columnas de
agrupacin de la consulta, ya que ellas son las que determinan cmo se dividen
las filas en grupos.

Ejemplo: Escribir una sentencia SQL que nos muestre el promedio de edades por
Escuela
SELECT Escuela, AVG (Edad) AS PromedioEdad
FROM Alumnos
Escuela de Ingeniera de Sistemas

Ing. Ana Doris M. Barrera Loza

GROUP BY Escuela

LA CLASULA HAVING
La clusula HAVING puede ser utilizada para seleccionar y rechazar grupo de
filas. El formato de la clusula HAVING es anlogo al de la clusula WHERE,
consistiendo en la palabra clave HAVING seguida de una condicin de bsqueda.

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

Escuela de Ingeniera de Sistemas

Ing. Ana Doris M. Barrera Loza

S-ar putea să vă placă și