0% encontró este documento útil (0 votos)
260 vistas3 páginas

Recomendaciones de Las Consultas Sql-Idat

Este documento proporciona recomendaciones para consultas SQL. Explica cómo combinar tablas usando una columna común y las cláusulas WHERE e INNER JOIN. También cubre el uso apropiado de las cláusulas GROUP BY, HAVING y ORDER BY, así como las restricciones en las funciones y alias permitidos en WHERE. Por último, describe cómo usar UNION, INTERSECT, EXCEPT y sus requisitos sobre el número y tipo de columnas.

Cargado por

Mariel Rodriguez
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
260 vistas3 páginas

Recomendaciones de Las Consultas Sql-Idat

Este documento proporciona recomendaciones para consultas SQL. Explica cómo combinar tablas usando una columna común y las cláusulas WHERE e INNER JOIN. También cubre el uso apropiado de las cláusulas GROUP BY, HAVING y ORDER BY, así como las restricciones en las funciones y alias permitidos en WHERE. Por último, describe cómo usar UNION, INTERSECT, EXCEPT y sus requisitos sobre el número y tipo de columnas.

Cargado por

Mariel Rodriguez
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 PDF, TXT o lee en línea desde Scribd

RECOMENDACIONES CONSULTAS EN SQL SERVER

RECOMENDACIONES DE LAS CONSULTAS SQL


1.- AL TRABAJAR CON MAS DE 1 TABLA, ES NECESARIO COMBINARLAS A
TRAVES DE UNA COLUMNA COMUN, ESTO SE PUEDE HACER A TRAVES DE LA
INSTRUCCION WHERE O INNER JOIN.

SELECT <LISTA_COL_TABLA1>, <LISTA_COL_TABLA2>


Sintaxis
FROM TABLA1 AS T1, TABLA2 AS T2 Antigua
WHERE T1.COLUMNA=T2.COLUMNA AND .....
GO
Sintaxis
SELECT <LISTA_COL_TABLA1>, <LISTA_COL_TABLA2> Nueva
FROM TABLA1 AS T1 INNER JOIN TABLA2 AS T2
ON T1.COLUMNA=T2.COLUMNA
WHERE .....
GO

2.- SI EN LA LISTA DE SELECCION DE CAMPOS DE UNA CONSULTA "SELECT", SE


UTILIZAN COLUMNAS y/o EXPRESIONES CON COLUMNAS (Columnas
calculadas o afectadas por alguna función de SQL diferente a la Función de
Agregado) Y FUNCIONES DE AGREGADO, ES OBLIGATORIO UTILIZAR LA
CLAUSULA GROUP BY EN AQUELLAS COLUMNAS DEL SELECT QUE NO SE
ENCUENTREN DENTRO DE UNA FUNCION DE AGREGADO.

SELECT COL1_TABLA1, ALIAS_1=FUNCION_SQL(COL2_TABLA1),


ALIAS_2=FUNCION_AGREGADO(COLUMNA_TABLA1)
FROM TABLA1
WHERE .....
GROUP BY COL1_TABLA1, FUNCION_SQL(COL2_TABLA1)

3.- LA CLAÚSULA WHERE NO ACEPTA:


- ALIAS DE COLUMNA
- FUNCIONES DE AGREGADO
SÓLO ACEPTA EL NOMBRE DE COLUMNAS VÁLIDAS. (COLUMNAS QUE
EXISTAN EN LAS TABLAS) O EXPRESIONES CON COLUMNAS.
Por ejemplo la siguiente consulta está mal definida:
SELECT COL1_TABLA1, ALIAS_1=FUNCION_SQL(COL2_TABLA1),
ALIAS_2=FUNCION_AGREGADO(COLUMNA_TABLA1)
FROM TABLA1
WHERE FUNCION_AGREGADO(COLUMNA_TABLA1)>100
GROUP BY COL1_TABLA1, FUNCION_SQL(COL2_TABLA1)
PROFESOR: LIÑÁN RODRÍGUEZ, Julio César Página 1
RECOMENDACIONES CONSULTAS EN SQL SERVER
4.- SI SE DEBE UTILIZAR UNA FUNCIÓN DE AGREGADO (SU RESULTADO) PARA
REALIZAR UN FILTRO DE LAS FILAS DE UNA CONSULTA, SERA NECESARIO
COLOCAR LA FUNCION DE AGREGADO EN LA CLAÚSULA HAVING CON LA
RESPECTIVA EXPRESION DE EVALUACION.

SELECT COL1_TABLA1,
ALIAS_1=FUNCION_SQL(COL2_TABLA1),
ALIAS_2=FUNCION_AGREGADO(COLUMNA_TABLA1)
FROM TABLA1
WHERE .....
GROUP BY COL1_TABLA1, FUNCION_SQL(COL2_TABLA1)
HAVING FUNCION_AGREGADO(COLUMNA_TABLA1)>100
GO

5.- LA CLAUSULA ORDER BY ACEPTA PARA SU USO:


* NOMBRES DE COLUMNA
* ALIAS DE COLUMNA
* EXPRESION CON COLUMNA
* FUNCION DE AGREGADO
* POSICION DE COLUMNA

SELECT COL1_TABLA1,
ALIAS_1=FUNCION_SQL(COL2_TABLA1),
ALIAS_2=FUNCION_AGREGADO(COLUMNA_TABLA1)
FROM TABLA1
WHERE .....
GROUP BY COL1_TABLA1, FUNCION_SQL(COL2_TABLA1)
HAVING FUNCION_AGREGADO(COLUMNA_TABLA1)>100
ORDER BY COL1_TABLA1, 2, FUNCION_AGREGADO(COLUMNA_TABLA1)
GO

PROFESOR: LIÑÁN RODRÍGUEZ, Julio César Página 4


RECOMENDACIONES CONSULTAS EN SQL SERVER
6.- SI UTILIZAMOS LAS CLAUSULAS:
* UNION, UNION ALL, INTERSECT O EXCEPT
LAS CONSULTAS 1 Y 2 DEBERAN COINCIDIR EN LA CANTIDAD
DE COLUMNAS Y EN SU TIPO DE DATOS EN CADA COLUMNA.

NO SE PERMITE EL USO DE LA CLAUSULA ORDER BY EN LA PRIMERA


CONSULTA, SOLO EN LA SEGUNDA.

SELECT COL1, COL2, COL3 FROM TABLA1 WHERE ….. La sintaxis es similar
UNION ALL -- INTERSECT -- EXCEPT para estas
instrucciones
SELECT COL1, COL2, COL3 FROM TABLA2 WHERE …..
ORDER BY …..

DONDE COL1 DE TABLA1 DEBE SER DEL MISMO TIPO DE COL1 DE TABLA2 Y
ASI SUCESIVAMENTE.

• UNION: DEVUELVE EL RESULTADO DE LAS 2 CONSULTAS, NO


PERMITIENDO FILAS REPETIDAS.

• UNION ALL: DEVUELVE EL RESULTADO DE LAS 2 CONSULTAS,


PERMITIENDO LAS FILAS REPETIDAS.

• INTERSECT: DEVUELVE LAS FILAS QUE EXISTAN EN AMBAS CONSULTAS.

• EXCEPT: DEVUELVE LAS FILAS QUE SE ENCUENTRAN SOLO EN LA


PRIMERA CONSULTA Y NO EN LA SEGUNDA.

PROFESOR: LIÑÁN RODRÍGUEZ, Julio César Página 4

También podría gustarte