CURSO- BASE DE DATOS Y SQL
Slides in this set (26)
-
BASE DE DATOS Y SQL - AVANZADO
-
- SQL TOP
- La sentencia SQL TOP se utiliza para especificar el número de filas a mostrar en el resultado. Esta cláusula SQL TOP es útil en tablas con muchos registros, para limitar el número de filas a mostrar en la consulta, y así sea más rápida la consulta, consumiendo también menos recursos en el sistema.Esta cláusula se especifica de forma diferente según el sistema de bases de datos utilizado.
-
- Cláusula SQL TOP para SQL SERVER
- * SELECT TOP número | PERCENT nombre_columna FROM nombre_tabla
- Cláusula SQL TOP para MySQL
- * SELECT columna(s) FROM tabla LIMIT númerofilas
- Cláusula SQL TOP para ORACLE
- * SELECT columna(s) FROM tabla WHERE ROWNUM<= númerofilas
-
- El operador LIKE se utiliza en la cláusula WHERE para buscar por un patrón.
- Sintaxis de SQL LIKE:
- SELECT columna(s) FROM tabla WHERE columna LIKE ‘%patron%’
-
- Ejemplos del uso de SQL LIKE
- Dada la siguiente tabla ‘personas’
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
- ANTONIO GARCIA RODRIGUEZ
- PEDRO RUIZ GONZALEZ
- Si quiero seleccionar los nombres que empiezan por ‘AN’ en la tabla ‘personas’, ejecutaría el comando
- siguiente:
- SELECT * FROM personas WHERE nombre LIKE ‘AN%’
-
- El character ‘%’ es un comodín, que sirve para uno o más caracteres.Este es el resultado
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
- ANTONIO GARCIA RODRIGUEZ
-
BD Y SQL - AVANZADO - (Wildcards)
- Los caracteres Wildcards (comodines) son caracteres especiales que se utilizan para realizar búsquedas especiales, como por ejemplo, buscar palabras que empiecen por una letra determinada (letra%) o que
- contengan la letra a (%a%), o que contengan alguna vocal ([aeiou]), etc.
-
BD Y SQL - AVANZADO - (Wildcards)
- Los caracteres Wildcards se utilizan con el operador SQL LIKE en una sentencia SELECT.Los caracteresWildcards son :
- % sustituye a cero o más caracteres
- _ sustituye a 1 carácter cualquiera
- [lista] sustituye a cualquier carácter de la lista
- [^lista] o [!lista] sustituye a cualquier carácter excepto los caracteres de la lista
-
BD Y SQL - AVANZADO - (Wildcards)
- Ejemplos Wildcards
- Seleccionar las personas cuyo nombre contenga una ‘R’ - SELECT * FROM personas WHERE nombre LIKE ‘%R%’
- Resultado:
- nombre apellido1 apellido2
- ======== ======== =======
- PEDRO RUIZ GONZALEZ
-
BD Y SQL - AVANZADO - (Wildcards)
- Seleccionar las personas cuyo apellido1 empiece por ‘GA’
- - SELECT * FROM personas WHERE apellido1 LIKE ‘PE_EZ’
- Resultado:
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
-
BD Y SQL - AVANZADO - (Wildcards)
- Seleccionar las personas cuyo apellido1 empiece por P o G
- - SELECT * FROM personas WHERE apellido1 LIKE ‘[PG]%’
- Resultado:
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
- ANTONIO GARCIA RODRIGUEZ
-
- El operador IN permite seleccionar múltiples valores en una cláusula WHERE
- Sintaxis SQL IN
- SELECT columna FROM tabla WHERE columna IN (valor1, valor2, valor3, …)
-
- Ejemplo SQL IN
- Dada la siguiente tabla ‘personas’
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
- ANTONIO GARCIA RODRIGUEZ
- PEDRO RUIZ GONZALEZ
- Queremos seleccionar a las personas cuyo apellido1 sea ‘PEREZ’ o ‘RUIZ’
- SELECT * FROM personas WHERE apellido1 IN (‘PEREZ’,’RUIZ’)
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
- PEDRO RUIZ GONZALEZ
-
BD Y SQL - AVANZADO - (Between)
- El operador BETWEEN se utiliza en la cláusula WHERE para seleccionar valores entre un rango dedatos.
- Sintaxis de SQL BETWEEN
- - SELECT columna FROM tabla WHERE columna BETWEEN valor1 AND valor2
-
BD Y SQL - AVANZADO - (Between)
- Ejemplo de SQL BETWEENDada la siguiente tabla ‘personas’
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
- ANTONIO GARCIA RODRIGUEZ
- PEDRO RUIZ GONZALEZ
- Seleccionar personas cuyo apellido1 esté entre ‘FERNANDEZ y ‘HUERTAS’
- SELECT * FROM personas WHERE apellido1 BETWEEN ‘FERNANDEZ’ AND ‘HUERTAS’
- nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO GARCIA RODRIGUEZ
-
BD Y SQL - AVANZADO - (Between)
- Seleccionar personas cuyo apellido1 noe sté entre ‘FERNANDEZ y ‘HUERTAS’
- SELECT * FROM personas WHERE apellido1 NOT BETWEEN ‘FERNANDEZ’ AND ‘HUERTAS’nombre apellido1 apellido2
- ======== ======== =======
- ANTONIO PEREZ GOMEZ
- PEDRO RUIZ GONZALEZ
-
- La sentencia SQL JOIN permite consultar datos de 2 o más tablas.Dichas tablas estarán relacionadas entre ellas de alguna forma, a través de alguna de sus columnas.
- Existen 3 tipos de JOINS: JOIN interno, JOIN externo y JOIN cruzado.
- Una clave primaria es una columna con un valor único para cada registro de una tabla.
- El propósito del JOIN es unir información de diferentes tablas, para no tener que repetir datos en
- diferentes tablas.
-

- Caption: DIAGRAMA DE VENN

- Caption: SQL JOINS
-
- Ejemplo:Si tenemos las siguientes tablas
- Tabla personas, con la clave primaria “cppersona “
- cppersona nombre apellido1 apellido2 cpdepartamento
- ======== ======== ======== ======= ===========
- 1 ANTONIO PEREZ GOMEZ 1
- 2 ANTONIO GARCIA RODRIGUEZ 2
- 3 PEDRO RUIZ GONZALEZ 2
- Tabla “departamentos”, con la clave primaria “cpdepartamento”
- cpdepartamento departamento
- ============ ====================
- 1 ADMINISTRACION
- 2 INFORMATICA
- 3 COMERCIAL
-
BD Y SQL - AVANZADO - (inner join)
- La sentencia INNERJOIN es el sentencia JOIN por defecto, y consiste en combinar cada fila de una tabla con cada fila de la otra tabla, seleccionado aquellas filas que cumplan una determinada condición.
- - SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.columna1 = tabla2.columna1
-
BD Y SQL - AVANZADO - (inner join)
-
BD Y SQL - AVANZADO - (left join)
- La sentencia LEFTJOIN combina los valores de la primera tabla con los valores de la segunda tabla.
- Siempre devolverá las filas de la primera tabla, incluso aunque no cumplan la condición.
- - SELECT * FROM tabla1 LEFT JOIN tabla2 ON tabla1.columna1 = tabla2.columna1
-
BD Y SQL - AVANZADO - (left join)
-
BD Y SQL - AVANZADO - (right join)
- La sentencia RIGHT JOIN combina los valores de la primera tabla con los valores de la segunda tabla.
- Siempre devolverá las filas de la segunda tabla, incluso aunque no cumplan la condición.
- En algunas bases de datos, la sentencia RIGHT JOIN es igual a RIGHT OUTERJOIN
- - SELECT * FROM tabla1 RIGHT JOIN tabla2 ON tabla1.columna1 = tabla2.columna1
-
BD Y SQL - AVANZADO - (right join)
- Ejemplo SQL Right Join:
- Tabla personas, con la clave primaria “cppersona “cppersona nombre apellido1 apellido2 cpdepartamento
- ======== ======== ======== ======= ===========
- 1 ANTONIO PEREZ GOMEZ 1
- 2 ANTONIO GARCIA RODRIGUEZ 2
- 3 PEDRO RUIZ GONZALEZ 4
- Tabla “departamentos”, con la clave primaria “cpdepartamento”
- cpdepartamento departamento
- ============ ====================
- 1 ADMINISTRACION
- 2 INFORMATICA
- 3 COMERCIAL
-
BD Y SQL - AVANZADO - (right join)
- SELECT nombre, apellido1, departamentoFROM personas RIGHTJOIN departamentos
- WHERE personas.cpdepartamento = departamentos.cpdepartamento
- nombre apellido1 departamento
- ======== ======== ================
- ANTONIO PEREZ ADMINISTRACION
- ANTONIO GARCIA INFORMATICA
- null null COMERCIAL
- Aunque no exista ninguna persona del departamento ‘COMERCIAL’ (3), esta fila aparecerá con las otras columnas en blanco.
Information
- Description
- INTERMEDIO - AVANZADO
- Created by
- Cesar Eduardo Bocardo Martinez · Mar 2017
- Updated
- Mar 15, 2017
- Views
- 101
- Rating
