Consultas com
-
Upload
vanessarequejo -
Category
Documents
-
view
131 -
download
0
Transcript of Consultas com
![Page 1: Consultas com](https://reader036.fdocumento.com/reader036/viewer/2022071721/55b36148bb61eb172a8b4835/html5/thumbnails/1.jpg)
HABITUALMENTE CUANDO NECESITAMOS RECUPERAR LA INFORMACIÓN DE UNA BASE DE DATOS NOS ENCONTRAMOS CON QUE DICHA INFORMACIÓN SE ENCUENTRA REPARTIDA EN VARIAS TABLAS, REFERENCIADAS A TRAVÉS DE VARIOS CÓDIGOS. DE ESTE MODO SI TUVIERAMOS UNA TABLA DE VENTAS CON UN CAMPO CLIENTE, DICHO CAMPO CONTENDRÍA EL CÓDIGO DEL CLIENTE DE LA TABLA DE CLIENTE. S IN EMBARGO ESTÁ FORMA DE ALMACENAR LA INFORMACIÓN NO RESULTA MUY ÚTIL A LA HORA DE CONSULTAR LOS DATOS. SQL NOS PROPORCIONA UNA FORMA FÁCIL DE MOSTRAR LA INFORMACIÓN REPARTIDA EN VARIAS TABLAS, LAS CONSULTAS COMBINADAS O JOINS.
Consultas combinadas
![Page 2: Consultas com](https://reader036.fdocumento.com/reader036/viewer/2022071721/55b36148bb61eb172a8b4835/html5/thumbnails/2.jpg)
Las consultas combinadas pueden ser de tres tipos
Combinación interna
Combinación externa
Uniones
![Page 3: Consultas com](https://reader036.fdocumento.com/reader036/viewer/2022071721/55b36148bb61eb172a8b4835/html5/thumbnails/3.jpg)
NOS PERMITE MOSTRAR LOS DATOS DE DOS O MÁS TABLAS A TRAVÉS DE UNA CONDICIÓN .
PARA REALIZAR LA CONSULTA COMBINADA ENTRE ESTAS DOS TABLAS DEBEMOS ESCRIBIR UNA
CONSULTA SELECT EN CUYA CLAÚSULA FROM ESCRIBIREMOS EL NOMBRE DE LAS DOS TABLAS,
SEPARADOS POR COMAS, Y UNA CONDICIÓN WHERE QUE OBLIGUE A QUE EL CÓDIGO DE MARCA DE
LA TABLA DE COCHES SEA IGUAL AL CÓDIGO DE LA TABLA DE MARCAS.
Combinación interna
![Page 4: Consultas com](https://reader036.fdocumento.com/reader036/viewer/2022071721/55b36148bb61eb172a8b4835/html5/thumbnails/4.jpg)
LA COMBINACIÓN INTERNA ES EXCLUYENTE. ESTO QUIERE DECIR QUE SI UN REGISTRO NO CUMPLE LA CONDICIÓN DE COMBINACIÓN NO SE INCLUYE EN LOS RESULTADOS. DE ESTE MODO EN EL EJEMPLO ANTERIOR SI UN COCHE NO TIENE GRABADA LA MARCA NO SE DEVUELVE EN MI CONSULTA. SEGÚN LA NATURALEZA DE NUESTRA CONSULTA ESTO PUEDE SER UNA VENTAJA , PERO EN OTROS CASOS SIGNIFICA UN SERIO PROBLEMA. PARA MODIFICAR ESTE COMPORTAMIENTO SQL PONE A NUESTRA DISPOSICIÓN LA COMBINACIÓN EXTERNA. LA COMBINACIÓN EXTERNA NO ES EXCLUYENTE.
Combinación Externa
![Page 5: Consultas com](https://reader036.fdocumento.com/reader036/viewer/2022071721/55b36148bb61eb172a8b4835/html5/thumbnails/5.jpg)
La sintaxis es muy parecida a la combinación interna,
SELECT [ALL | DISTINCT ] <nombre_campo> [{,<nombre
campo>}]FROM <nombre_tabla>
[{LEFT|RIGHT OUTER JOIN <nombre_tabla> ON <condicion_combinacion>}]
[WHERE <condicion> [{ AND|OR <condicion>}]]
[GROUP BY <nombre_campo> [{,<nombre_campo >}]]
[HAVING <condicion>[{ AND|OR <condicion>}]]
[ORDER BY <nombre_campo>|<indice_campo> [ASC | DESC]
[{,<nombre_campo>|<indice_campo> [ASC | DESC ]}]]
![Page 6: Consultas com](https://reader036.fdocumento.com/reader036/viewer/2022071721/55b36148bb61eb172a8b4835/html5/thumbnails/6.jpg)
C O M O M E J O R S E V E L A C O M B I N A C I Ó N E X T E R N A E S C O N U N E J E M P L O.
S E L E C T T C O C H E S. M AT R I C U L A , T M A R C A S. M A R C A ,
T C O C H E S. M O D E L O, T C O C H E S. C O L O R ,
T C O C H E S. N U M E R O _ K I L O M E T R O S, T C O C H E S. N U M _ P L A Z A S
F R O M T C O C H E SL E F T O U T E R J O I N T M A R C A S O N T C O C H E S. M A R C A =
T M A R C A S. C O D I G O E S TA C O N S U LTA D E V O LV E R Á T O D O S L O S R E G I S T R O S D E L A
TA B L A T C O C H E S, I N D E P E N D I E N T E M E N T E D E Q U E T E N G A N M A R C A O N O. E N E L C A S O D E Q U E E L C O C H E N O T E N G A M A R C A
S E D E V O LV E R Á E L VA L O R N U L L PA R A L O S C A M P O S D E L A TA B L A T M A R C A S .
La combinación externa puede ser diestra o siniestra, LEFT OUTER JOIN o RIGHT OUTER JOIN. Con LEFT OUTER JOIN obtenemos todos los registros de en la tabla que situemos a la izquierda de la clausula JOIN, mientras que con RIGHT OUTER JOIN obtenemos el efecto contrario.
![Page 7: Consultas com](https://reader036.fdocumento.com/reader036/viewer/2022071721/55b36148bb61eb172a8b4835/html5/thumbnails/7.jpg)
LA CLÁUSULA UNION PERMITE UNIR DOS O MÁS CONJUNTOS DE RESULTADOS EN UNO DETRAS DEL OTRO COMO SI SE TRATASE DE UNA ÚNICA TABLA . DE ESTE MODO PODEMOS OBTENER LOS REGISTROS DE MAS DE UNA TABLA "UNIDOS" . LA S INTAXIS CORRESPONDE A LA DE VARIAS SELECT UNIDAS A TRAVÉS DE UNION, COMO SE MUESTRA A CONTINUACIÓN: PARA UTIL IZAR LA CLAUSULA UNION DEBEMOS CUMPLIR UNA SERIE DE NORMAS.LAS CONSULTAS A UNIR DEBEN TENER EL MISMO NÚMERO CAMPOS, Y ADEMÁS LOS CAMPOS DEBEN SER DEL MISMO TIPO.SÓLO PUEDE HABER UNA ÚNICA CLAUSULA ORDER BY AL F INAL DE LA SENTENCIA SELECT.
Union