0% encontró este documento útil (0 votos)
6 vistas52 páginas

Cláusulas SQL Esenciales

El documento describe varios comandos SQL, incluyendo ORDER BY para ordenar registros, GROUP BY para agrupar datos, HAVING para filtrar grupos, y LIKE para búsquedas de patrones. También se abordan los operadores IN y BETWEEN para seleccionar valores específicos y rangos, respectivamente, así como las subconsultas con ANY y ALL para comparar valores. Cada sección incluye definiciones, características, estructuras y ejemplos de aplicación práctica.

Cargado por

Ariel Bkr
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas52 páginas

Cláusulas SQL Esenciales

El documento describe varios comandos SQL, incluyendo ORDER BY para ordenar registros, GROUP BY para agrupar datos, HAVING para filtrar grupos, y LIKE para búsquedas de patrones. También se abordan los operadores IN y BETWEEN para seleccionar valores específicos y rangos, respectivamente, así como las subconsultas con ANY y ALL para comparar valores. Cada sección incluye definiciones, características, estructuras y ejemplos de aplicación práctica.

Cargado por

Ariel Bkr
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Comandos SQL

Order By
ORDENAR REGISTROS
DEFINICIÓN

Hasta ahora, se ha trabajado la obtención


de datos de una tabla utilizando los
comandos SELECT y WHERE. Con
frecuencia, sin embargo, se necesita
enumerar el resultado en un orden
particular. Esto podría ser en orden
ascendente, en orden descendente, o
podría basarse en valores numéricos o de
texto. En tales casos, se puede utilizar la
palabra clave ORDER BY para conseguir
ésta meta.
CARACTERÍSTICAS Y
ESTRUCTURA

La sintaxis para una instrucción ORDER BY


es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
[WHERE "condición"]
ORDER BY
"nombre_columna" [ASC, DESC];
[ ] significa que la instrucción WHERE es
opcional.
CARACTERÍSTICAS Y
ESTRUCTURA

Es posible ordenar por más de una columna. En


este caso, la cláusula ORDER BY anterior se
convierte en
ORDER BY "nombre1_columna" [ASC,
DESC], "nombre2_columna" [ASC, DESC]
Suponiendo que se elige un orden ascendente
para ambas columnas, el resultado se clasificará
en orden ascendente según la columna 1. Si hay
una relación para el valor de la columna 1, se
clasificará en orden ascendente según la
columna 2.
APLICACIÓN
APLICACIÓN

Se ingresa:

SELECT Store_Name, Sales,


Txn_Date
FROM Store_Information
ORDER BY Sales DESC;
APLICACIÓN

Resultado
:
Group By
AGRUPAR REGISTROS
DEFINICIÓN

La cláusula GROUP BY unida a un SELECT


permite agrupar filas según las
columnas que se indiquen como
parámetros, y se suele utilizar en
conjunto con las funciones de agrupación,
para obtener datos resumidos y
agrupados por las columnas que se
necesiten.
CARACTERÍSTICAS Y
ESTRUCTURA

La sintaxis SQL correspondiente a GROUP


BY es la siguiente:
SELECT "nombre1_columna",
SUM("nombre2_columna")
FROM "nombre_tabla"
GROUP BY "nombre1-columna";
APLICACIÓN
APLICACIÓN

Se desea saber las ventas totales para


cada negocio. Para hacerlo, se ingresa:
SELECT Store_Name,
SUM(Sales)
FROM Store_Information
GROUP BY Store_Name;
APLICACIÓN

Resultado:
APLICACIÓN

La palabra clave GROUP BY se utiliza


cuando se seleccionan columnas múltiples
desde una tabla (o tablas) y aparece al
menos un operador aritmético en la
instrucción SELECT. Cuando esto sucede,
se necesita GROUP BY todas las otras
columnas seleccionadas, es decir, todas las
columnas excepto aquella(s) que se operan
por un operador aritmético.
Having
SELECCIONAR GRUPOS
DEFINICIÓN

Así como la cláusula "where" permite


seleccionar (o rechazar) registros
individuales; la cláusula "having" permite
seleccionar (o rechazar) un grupo de
registros.
CARACTERÍSTICAS Y
ESTRUCTURA

La cláusula HAVING se coloca generalmente


cerca del fin de la instrucción SQL, y la
instrucción SQL con la cláusula HAVING.
Puede o no incluir la cláusula GROUP BY. La
sintaxis para HAVING es:
SELECT "nombre1_columna",
SUM("nombre2_columna")
FROM "nombre_tabla"
GROUP BY "nombre1_columna"
HAVING (condición de función
aritmética);
APLICACIÓN
APLICACIÓN

Se ingresaría:
SELECT Store_Name,
SUM(Sales)
FROM Store_Information
GROUP BY Store_Name
HAVING SUM(Sales) > 1500;
Resultado:
Like
BÚSQUEDA DE PATRONES
DEFINICIÓN

LIKE es otra palabra clave que se utiliza en


la cláusula WHERE. Básicamente, LIKE le
permite hacer una búsqueda basada en un
patrón en vez de especificar exactamente
lo que se desea (como en IN) o determinar
un rango (como en BETWEEN).
CARACTERÍSTICAS Y
ESTRUCTURA

La sintaxis es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" LIKE
{patrón};
CARACTERÍSTICAS Y
ESTRUCTURA
{patrón} generalmente consiste en comodines. Aquí
hay algunos ejemplos:
• 'A_Z': Toda línea que comience con 'A', otro carácter y
termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z' deberían
satisfacer la condición, mientras 'AKKZ' no debería (debido a
que hay dos caracteres entre A y Z en vez de uno).
• 'ABC%': Todas las líneas que comienzan con 'ABC'. Por
ejemplo, 'ABCD' y 'ABCABC' ambas deberían satisfacer la
condición.
• '%XYZ': Todas las líneas que terminan con 'XYZ'. Por ejemplo,
'WXYZ' y 'ZZXYZ' ambas deberían satisfacer la condición.
• '%AN%': : Todas las líneas que contienen el patrón 'AN' en
cualquier lado. Por ejemplo, 'LOS ANGELES' y 'SAN
FRANCISCO' ambos deberían satisfacer la condición.
APLICACIÓN
APLICACIÓN

Se desea encontrar todos los negocios


cuyos nombres contengan ‘AN’. Para
hacerlo, se ingresa:
SELECT *
FROM Store_Information
WHERE Store_Name LIKE
'%AN%';
APLICACIÓN

Resultado:
Distinct
REGISTROS DUPLICADOS
DEFINICIÓN

La palabra clave SELECT nos permite


tomar toda la información de una columna
(o columnas) en una tabla. Esto,
obviamente, significa necesariamente que
habrá redundancias. ¿Qué sucedería si sólo
se desea seleccionar cada elemento
DISTINCT? Esto es fácil de realizar en SQL.
Todo lo que se debe hacer es agregar
DISTINCT luego de SELECT.
CARACTERÍSTICAS Y
ESTRUCTURA

La sintaxis es la siguiente:
SELECT DISTINCT
"nombre_columna"
FROM "nombre_tabla";
APLICACIÓN
APLICACIÓN

Ingresamos,

SELECT DISTINCT store_name FROM


Store_Information;
Resultado:
In
OPERADOR RELACIONAL
DEFINICIÓN

Cuando se utiliza en el contexto


relacionado con la cláusula WHERE, se
sabe exactamente el valor de los valores
regresados que se desea ver para al menos
una de las columnas.
CARACTERÍSTICAS Y
ESTRUCTURA
La sintaxis para el uso de la palabra clave IN es la
siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" IN (''valor1',
''valor2', ...);
El número de valores en los paréntesis pueden ser
uno o más, con cada valor separado por comas. Los
valores pueden ser números o caracteres. Si hay sólo
un valor dentro del paréntesis, este comando es
equivalente a
WHERE "nombre_columna" = 'valor1'
APLICACIÓN

Por ejemplo, se podría desear seleccionar todos los registros para


los negocios de Los Ángeles y San Diego en la Tabla
Store_Information:
APLICACIÓN

Se Ingresa:
SELECT *
FROM Store_Information
WHERE Store_Name IN ('Los Angeles', 'San
Diego');
Resultado:
Between
OPERADOR RELACIONAL
DEFINICIÓN

Mientras que la palabra clave IN ayuda a


limitar el criterio de selección para uno o
más valores discretos, la palabra clave
BETWEEN permite la selección de un
rango.
CARACTERÍSTICAS Y
ESTRUCTURA

La sintaxis para la cláusula BETWEEN es la


siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" BETWEEN 'valor1'
AND 'valor2';
Esto seleccionará todas las filas cuya columna
tenga un valor entre 'valor1' y 'valor2'.
Por ejemplo, se desea seleccionar la visualización
de toda la información de ventas entre el 06 de
enero de 1999, y el 10 de enero de 1999, en la
Tabla Store_Information.
APLICACIÓN
APLICACIÓN

Se Ingresa:

SELECT *
FROM Store_Information
WHERE Txn_Date BETWEEN '06-Jan-1999'
AND '10-Jan-1999';
Se debe en cuenta que la fecha puede
almacenarse en diferentes formatos según las
diferentes bases de datos. Esta guía de
referencia simplemente elige uno de los
formatos.
APLICACIÓN

Resultado:
Any-All
SUBCONSULTAS
DEFINICIÓN ANY

"any" y "some" son sinónimos. Chequean si


alguna fila de la lista resultado de una
subconsulta se encuentra el valor
especificado en la condición.
Compara un valor escalar con los valores
de un campo y devuelven "true" si la
comparación con cada valor de la lista de
la subconsulta es verdadera, sino "false".
CARACTERÍSTICAS Y
ESTRUCTURA

El tipo de datos que se comparan deben


ser compatibles.
La sintaxis básica es:
...VALORESCALAR
OPERADORDECOMPARACION any
(SUBCONSULTA);
APLICACIÓN

Se desea saber los títulos de los libros de


"Borges" que pertenecen a editoriales que han
publicado también libros de "Richard Bach",
es decir, si los libros de "Borges" coinciden
con ALGUNA de las editoriales que publicó
libros de "Richard Bach":
select titulo from libros where
autor='Borges' and codigoeditorial = any
(select [Link] from editoriales e join
libros l on codigoeditorial=[Link]
where [Link]='Richard Bach');
APLICACIÓN

La consulta interna (subconsulta) retorna


una lista de valores de un solo campo
(puede ejecutar la subconsulta como una
consulta para probarla), luego, la consulta
externa compara cada valor de
"codigoeditorial" con cada valor de la lista
devolviendo los títulos de "Borges" que
coinciden.
DEFINICIÓN - ALL

"all" también compara un valor escalar con


una serie de valores. Chequea si TODOS
los valores de la lista de la consulta
externa se encuentran en la lista de
valores devuelta por la consulta interna.
Sintaxis:
VALORESCALAR
OPERADORDECOMPARACION all
(SUBCONSULTA);
APLICACIÓN

Se desea saber si TODAS las editoriales


que publicaron libros de "Borges" coinciden
con TODAS las editoriales que publicaron
libros de "Richard Bach":
select titulo from libros where
autor='Borges' and codigoeditorial =
all (select [Link] from editoriales e
join libros l on
codigoeditorial=[Link] where
[Link]='Richard Bach');
APLICACIÓN

La consulta interna (subconsulta) retorna


una lista de valores de un solo campo
(puede ejecutar la subconsulta como una
consulta para probarla), luego, la consulta
externa compara cada valor de
"codigoeditorial" con cada valor de la lista,
si TODOS coinciden, devuelve los títulos.
BIBLIOGRAFÍA

• [1] [Link]
[Link]
• [2] http
://[Link]/ora
cleya/[Link]?inicio=
50

También podría gustarte