Este documento proporciona ejemplos de sentencias SQL SELECT que incluyen operadores de restricción, proyección y enlace. Explica cómo se pueden usar WHERE para restringir los resultados, LIKE para buscar patrones de cadena, y SELECT para especificar las columnas deseadas. También muestra ejemplos de enlaces entre tres o más tablas y autoenlaces, y explica que la cláusula GROUP BY agrupa filas y muestra funciones agregadas como COUNT por columnas de agrupación.
2. INTRODUCCION
SQL La sigla que se conoce como SQL corresponde a la expresión inglesa Structured
Query Language (entendida en español como Lenguaje de Consulta Estructurado),
la cual identifica a un tipo de lenguaje vinculado con la gestión de bases de datos de
carácter relacional que permite la especificación de distintas clases de operaciones
entre éstas. Gracias a la utilización del álgebra y de cálculos relacionales, el SQL
brinda la posibilidad de realizar consultas con el objetivo de recuperar información
de las bases de datos de manera sencilla.
3. ESCRIBIR SENTENCIAS SQL SELECT PARA
CONSULTAS CON OPERADORES DE
RESTRICCIÓN, PROYECCIÓN Y ENLACE.
Ejemplo de Operador de Restricción
Para eso tomamos como ejemplo el where.
Lo que estamos haciendo con esta sentencia es seleccionar la columna nombre, trabajo
y departamento de la tabla empresa donde le condicionamos que solo nos busque una
información especifica en la tabla con el condicionante where .
4. Ejemplo de Operador de Enlace
Para eso tomamos como ejemplo el Like El operador LIKE Este operador se
aplica a datos de tipo cadena y se usa para buscar registros, es capaz de hallar
coincidencias dentro de una cadena bajo un patrón dado, por ejemplo:
5. Ejemplo de Operador de Proyección
PROYECCIÓN
Opera sobre una o más tablas, no siendo necesario que éstas posean la misma
estructura, y devolviendo una nueva tabla cuyo contenido es todas las filas de las
tablas indicadas que satisfacen una cierta condición, tal como sucede con la
selección, sólo que la proyección permite indicar cuáles columnas se desea
obtener en el resultado, tal como puede verse en el siguiente ejemplo:
SELECT X, Z FROM A WHERE X<50
6. Escribir sentencias SELECT para enlaces que
incluyen tres o más tablas, auto enlaces y
múltiples enlaces entre tablas.
Supongamos que queremos conseguir una lista con los empleados y los departamentos para
los que trabajan. Esta información está repartida en las dos tablas que tenemos, emp y dep.
Así, podríamos intentar una consulta que seleccionara el campo nombre de la tabla emp y el
nombre del departamento. Y aquí surge el primer problema, ¿cómo distinguimos entre dos
columnas que llamándose igual, pertenecen a tablas distintas.
Ejemplos
select titulo,a.nombre,e.nombre
from autores as a
right join libros as l
codigoautor=a.código
join editoriales as e on
codigoeditorial=e.codigo;
solicitamos el título, autor y editorial de todos los libros que encuentren o no coincidencia
con "autores" ("right join") y a ese resultado lo combinamos con "editoriales", encuentren o no
coincidencia. Las tablas deben tener claves externas relacionadas con las tablas a combinar.
7. ENTENDER Y EJEMPLIFICAR EL PROPÓSITO DE
LA CLÁUSULA GROUP BY USANDO EL PROCESO
DE EVALUACIÓN CONCEPTUAL.
Propósito de la clausula GROUP BY:
La cláusula Group by clause es usada para mostrar las filas y columnas agrupadas
por columnas selectivas. Puede usarse para ver las funciones agregadas, como
count(). Una consulta con una cláusula GROUP BY se denomina consulta agrupada
ya que agrupa los datos de la tabla origen y produce una única fila resumen por
cada grupo formado. Las columnas indicadas en el GROUP BY se llaman columnas
de agrupación.
8. Ejemplo:
Construyamos una consulta que nos devuelva el total de empleados por sexo.
Esto se consigue con una nueva cláusula: GROUP BY, en consecuencia debemos
añadir una cuarta pregunta a las preguntas de construcción.
9. Consulta:
select SEXO , count(*) as EMPLEADOS
from EMPLEADOS
group by SEXO
Observe que el resultado de la consulta devuelve dos filas, una para los hombres
y otra para las mujeres, cada fila indica el número de empleados de su grupo.
Advierta como los grupos resultantes son dos porque los distintos valores del
campo SEXO en los registros seleccionados son dos: "H" y "M".
En general, cuando acompañamos uno o más campos de tabla con funciones de
totalización, estos campos deberán formar parte de la cláusula GROUP BY.