DML Data manipulation language SELECT UPDATE INSERT DELETE. DDL Data Definition Language CREATE DROP CONTROL Postulados de control GRANT REVOKE

Tamaño: px
Comenzar la demostración a partir de la página:

Download "DML Data manipulation language SELECT UPDATE INSERT DELETE. DDL Data Definition Language CREATE DROP CONTROL Postulados de control GRANT REVOKE"

Transcripción

1 TALLER DE SQL

2 Componentes DB2 DML Data manipulation language SELECT UPDATE INSERT DELETE DDL Data Definition Language CREATE DROP CONTROL Postulados de control GRANT REVOKE

3 Postulado SELECT QUERY SECUENCIA REQUERIDA: SELECT NOMBRE, ANTIG, SALARIO FROM Q.EMP WHERE DEP = 38 ORDER BY NOMBRE - Dice que columnas usa - Dice que tabla(s) usa - Dice que renglón(es) usa - Dice el orden del resultado UN QUERY TIENE FORMATO LIBRE: SELECT NOMBRE, ANTIG, SALARIO FROM Q.EMP WHERE DEP = 38 ORDER BY NOMBRE

4 Select... From SELECT(SELECCIONA) algunas de las columnas de una tabla Nombra la columna(s) que desea en el resultado, en secuencia de izquierda a derecha Múltiples nombres se separan con comas FROM nombra la tabla(s) Nombre simple: EMP Nombre calificado completo: IDENT.EMP Ejemplo: SELECT NOMDEP, NUMDEP FROM Q.ORG Resultado: NOMDEP NUMDEP DIRECCION 10 GUADALAJARA 15 CHIHUAHUA 20 MORELIA

5 Selección de todas las columnas Para seleccionar todas las columnas de una tabla en la secuencia (de derecha a izquierda) como originalmente fueron definidas: SELECT * FROM Q.ORG Resultado: NUMDEP NOMDEP GRTE DIVISION LOCALIDAD DIRECCION 160 CORPORATIVO D.F. 15 GUADALAJARA 50 OCCIDENTE JALISCO 20 CHIHUAHUA 10 NORTE CHIHUAHUA 38 MORELIA 30 CENTRO MICHOACAN

6 Where RECUPERA CIERTOS RENGLONES ESTABLECE LA(S) CONDICIONE(S) Liste unicamente los empleados del departamento 20 SELECT DEP, NOMBRE, PUESTO, COMIS FROM Q.EMP WHERE DEP = 20 Resultado: DEP NOMBRE PUESTO COMIS SANCHEZ GRTE - 20 PEREZ VEND JASSO OFIC SOTO OFIC

7 Ejemplos de Where Selección de renglones con datos numéricos SELECT DEP, NOMBRE, PUESTO FROM Q.EMP WHERE DEP = 20 Selección de renglones con datos tipo carácter SELECT NOMBRE, PUESTO, COMIS FROM Q.EMP WHERE NOMBRE = SANCHEZ

8 Operadores de comparación = Igual <> o = No igual > Mayor que >= Mayor que o igual < Menor que <= Menor que o igual > No mayor que < No menor que SELECT ID, COMIS FROM Q.EMP WHERE COMIS >= 1000 SELECT NOMBRE, DEP, ANTIG FROM Q.EMP WHERE PUESTO <> GRTE

9 Características de nulidad Una columna que es... NOT NULL debe tener un valor, Blancos o ceros son permitidos Una columna con valor NULO no requiere valor y es marcado como NULL NO CERO UN VALOR NULO (NULL) ES: NO BLANCO DESCONOCIDO

10 Not Null With Default Una columna puede ser descrita como not null with default El sistema genera un valor de default si alguno no es especificado Cero para una columna numérica Blanco para una columna de longitud fija tipo carácter Longitud cero para una columna de longitud variable tipo carácter

11 Selección por nulos (Null) Para seleccionar por valor nulo SELECT NOMBRE, PUESTO, COMIS FROM Q.EMP WHERE COMIS IS NULL Resultado: NOMBRE PUESTO COMIS SANCHEZ GRTE - MARES GRTE - HERNANDEZ GRTE - POZOS GRTE -..

12 No nulos Para seleccionar por valores no nulos SELECT NOMBRE, PUESTO, COMIS FROM Q.EMP WHERE COMIS IS NOT NULL Resultado: NOMBRE PUESTO COMIS PEREZ VEND ORDORICA VEND QUEZADA VEND RODRIGUEZ VEND JASSO OFIC

13 Múltiples condiciones Condiciones múltiples para recuperación: AND OR Dadas dos condiciones: PUESTO = VEND SALARIO < Para tener ambas condiciones: AND WHERE PUESTO = VEND AND SALARIO < Resultado: NOMBRE PUESTO SALARIO QUEZADA VEND RODRIGUEZ VEND DOMINGUEZ VEND

14 Múltiples condiciones WHERE (PUESTO = VEND AND COMIS > 1200) OR ANTIG > 10 Resultado: NOMBRE PUESTO ANTIG COMIS CASARES VEND JIMENEZ GRTE 12 - GUTIERREZ VEND ESPANA VEND NO ES LO MISMO QUE: WHERE PUESTO = VEND AND (COMIS > 1200 OR ANTIG > 10) Resultado: NOMBRE PUESTO ANTIG COMIS CASARES VEND GUTIERREZ VEND ESPANA VEND

15 Postulado In Para búsquedas en una lista de valores WHERE DEP IN (38,20,42) Es lo mismo que - Usar múltiples OR en la misma columna: WHERE DEP = 38 OR DEP = 20 OR DEP = 42

16 Postulado Between Para seleccionar un rango de valores SELECT NOMBRE, PUESTO, ANTIG FROM Q.EMP WHERE ANTIG BETWEEN 9 AND 11 Es lo mismo que SELECT NOMBRE, PUESTO, ANTIG FROM Q.EMP WHERE ANTIG >= 9 AND ANTIG <= 11 Resultado: NOMBRE PUESTO ANTIG HERNANDEZ GRTE 10 LOPEZ GRTE 10 LARIOS GRTE 9 ZEPEDA VEND 9 CELEDON GRTE 10

17 Búsquedas parciales Para encontrar en una porción de caracteres: LIKE % - Cero o cualquier número de caracteres ignorados _ - Solamente un carácter Ejemplos: WHERE NOMBRE LIKE G% incluye: GUTIERREZ GONZALEZ GONGORA WHERE NOMBRE LIKE %DA incluye: QUEZADA ZEPEDA WHERE NOMBRE LIKE %G%E% incluye: RODRIGUEZ NOGUEZ DOMINGUEZ GUTIERREZ GONZALEZ WHERE NOMBRE LIKE incluye: CASO LUNA SOTO WHERE NOMBRE LIKE _R% incluye: ORDORICA

18 Uso de negación Para negar el postulado de búsqueda WHERE NOMBRE NOT LIKE G% Excluye: GUTIERREZ GONZALEZ GONGORA WHERE ANTIG NOT BETWEEN 9 AND 11 Excluye ANTIG desde 9 hasta 11

19 Resultado de tablas Para ordenar los renglones ORDER BY Para descartar renglones duplicados SELECT DISTINCT

20 Order By Para ordenar los renglones en una secuencia específica Obtenga una lista alfabética de personas del Departamento 84 SELECT NOMBRE, PUESTO, ANTIG FROM Q.EMP WHERE DEP = 84 ORDER BY NOMBRE Resultado: NOMBRE PUESTO ANTIG CELEDON GRTE 10 DOMINGUEZ VEND 5 ESPAÑA VEND 7 GONGORA OFIC 5

21 Order By Especifica nombre(s) de columnas, así como el orden ASCendente (default) o DESCendente SELECT NOMBRE, PUESTO, ANTIG FROM Q.EMP WHERE DEP = 84 ORDER BY PUESTO, ANTIG DESC Resultado: NOMBRE PUESTO ANTIG GONGORA OFIC 5 ESPAÑA VEND 7 DOMINGUEZ VEND 5 CELEDON GRTE 10

22 Order By ORDER BY ANTIG DESC, PUESTO Resultado: NOMBRE PUESTO ANTIG CELEDON GRTE 10 ESPAÑA VEND 7 GONGORA OFIC 5 DOMINGUEZ VEND 5 COMENTARIOS Todas las columnas en el ORDER BY deben ser seleccionadas Los renglones resultado son ordenados de acuerdo a las columnas del ORDER BY Nulos son de orden más alto

23 Select Distinct SELECT DEP DEP FROM Q.EMP Para eliminar líneas duplicadas SELECT DISTINCT DEP DEP FROM Q.EMP

24 Select Distinct En múltiples columnas SELECT DISTINCT DEP, PUESTO DEP PUESTO FROM Q.EMP GRTE 15 OFIC 15 GRTE 15 VEND 20 OFIC 20 GRTE 20 VEND 38 OFIC..

25 Calculo de valores de Select + SUMA * MULTIPLICACION - SUBSTRACCION / DIVISION Obtenga el total de ingresos de cada persona del Departamento 20 SELECT ID, SALARIO, COMIS, SALARIO + COMIS FROM Q.EMP WHERE DEP = 20 Resultado: ID SALARIO COMIS

26 Condiciones y calculo de valores en Select Obtenga las personas cuyo salario más comisión exceda $20,000 SELECT NOMBRE, SALARIO + COMIS FROM Q.EMP WHERE SALARIO + COMIS > Resultado: NOMBRE VAZQUEZ GUTIERREZ

27 Order By y calculo de Valores en Select EJEMPLO 1: SELECT NOMBRE, SALARIO + COMIS FROM Q.EMP WHERE SALARIO + COMIS > ORDER BY 2 DESC EJEMPLO 2: Resultado: NOMBRE GUTIERREZ VAZQUEZ SELECT PUESTO, SALARIO + COMIS FROM Q.EMP ORDER BY PUESTO, 2

28 PRIMER LABORATORIO

29 Select avanzado FUNCIONES DE COLUMNA Resume datos de una columna El resultado no contiene el detalle de renglones individuales SOLO PARA DATOS NUMERICOS SUM Total del valor en una columna AVG Promedio de los valores en una columna PARA CUALQUIER TIPO DE DATO MIN El más bajo valor en una columna MAX El más alto valor en una columna COUNT Número de ocurrencias

30 Uso de Sum, Avg, Max, Min EJEMPLO: SELECT SUM(SALARIO), AVG(SALARIO), MIN(COMIS), MAX(COMIS) FROM Q.EMP WHERE DEPT = 66 Resultado: El resultado no contiene el detalle de renglones individuales Los valores nulos son excluidos Escala y precisión decimal derivan de la característica de columna Se puede expresar AVG(SALARIO + COMISION)

31 Postulado Count COUNT(*) Número de renglones que cumplen una condición COUNT(DISTINCT nombre-columna) - Número de valores únicos de una columna. Los valores nulos no son contados Cuente los departamentos y personas, donde el total de salario de las personas exceda $18000 y liste su salario promedio SELECT COUNT(DISTINCT DEP), COUNT(*), AVG(SALARIO) FROM Q.EMP WHERE SALARIO > Resultado:

32 Uso de literales SELECT AVG(COMIS), SUM(COMIS) FROM Q.EMP Resultado: SELECT AVG:, AVG(COMIS), SUM:, SUM(COMIS) FROM Q.EMP Resultado: AVG: SUM:

33 Uso de Group By Con GROUP BY, una función de columna resulta en un solo valor por cada grupo y por cada función SELECT SUM(SALARIO), SUM(COMIS) FROM Q.EMP WHERE PUESTO <> GRTE GROUP BY DEP.... DEP SELECT DEP, SUM(SALARIO), SUM(COMIS) FROM Q.EMP WHERE PUESTO <> GRTE GROUP BY DEP

34 Group By... Order By Para cambiar el orden de los resultados SELECT DEP, SUM(SALARIO), SUM(COMIS) FROM Q.EMP WHERE PUESTO <> GRTE GROUP BY DEP ORDER BY 3 Resultado: DEP

35 Group By... Having PARA PONER CONDICIONES EN GRUPOS SELECT... FROM... WHERE... GROUP BY... HAVING... FILTROS WHERE - Selecciona renglones HAVING - Selecciona grupos

36 Ejemplos de Having DEP SELECT DEP, SUM(SALARIO) FROM Q.DEP GROUP BY DEP DEP SELECT DEP, SUM(SALARIO) FROM Q.EMP GROUP BY DEP HAVING SUM(SALARIO) >

37 Ejemplos de Having (Continúa) Obtenga el salario promedio de los no gerentes por departamento, de todos los departamentos que tengan más de tres no gerentes SELECT DEP, AVG(SALARIO) FROM Q.EMP WHERE PUESTO <> GRTE GROUP BY DEP HAVING COUNT(*) > 3 Obtenga el salario promedio de los no gerentes por departamento, de aquellos que no tienen más de 5 años de experiencia. Organice el resultado desde el salario promedio más alto SELECT DEP,AVG(SALARIO) FROM Q.EMP WHERE PUESTO <> GRTE GROUP BY DEP HAVING MIN(ANTIG) <= 5 ORDER BY 2 DESC

38 Funciones escalares Operan sobre líneas individuales Producen un solo valor Funciones de columna pueden ser usadas como argumentos de funciones escalares Las funciones escalares pueden ser usadas como argumentos de funciones de columna

39 Substring NOMDEP SELECT NOMDEP, SUBSTR(NOMDEP,1, 4) CORPORATIVO CORP FROM Q.ORG GUADALAJARA GUAD CHIHUAHUA MORELIA CHIH MORE QUERETARO QUER.... SELECT NUMDEP, DIVISION NUMDEP DIVISION FROM Q.ORG WHERE 51 SURESTE SUBSTR(DIVISION,6) = TE

40 Substring NOTAS: Sí longitud no es especificada, substring toma hasta el final de la string Sí la especificación del inicio en substring se encuentra más allá del final de la string, esto causará un error Si la especificación del inicio en substring más la longitud, resultan más allá del final de la string esto causará un error Substring de nulo es nulo

41 Argumento Lenght SELECT NOMBRE, LENGTH(NOMBRE), PUESTO, LENGTH(PUESTO) FROM Q.EMP - longitud variable - longitud fija Resultado: NOMBRE PUESTO SANCHEZ 7 GRTE 5 PEREZ 5 VEND 5 MARES 5 GRTE Si el argumento es nulo, la longitud tiene valor nulo

42 Argumento Value El resultado es un valor no nulo en la lista de argumentos SELECT ID, COMIS, VALUE(COMIS, 0) FROM Q.EMP Resultado: ID COMIS Todos los argumentos deben ser del mismo tipo de dato (todos tipo carácter o numérico) Si todos los argumentos son nulos, el resultado en nulo

43 Funciones de conversión DECIMAL, FLOAT, INTEGER - Conversión de datos numéricos DIGITS HEX - Representación carácter de un valor numérico - Representación carácter de dígitos hexadecimales SELECT DECIMAL(SALARIO,9,1), INTEGER(SALARIO) FROM EMP WHERE ID = 55 SALARIO (DEC(7,2))

44 Formato de datos Date/Time Las columnas con formato DATE, TIME, TIMESTAMP son almacenadas internamente como decimal empacado, pero sin signo TIPO DE DATOS FORMATO INTERNO DATE TIME TIMESTAMP yyyymmdd hhmmss yyyymmddhhmmssnnnnnn

45 Aritmética en SQL Date/Time Solamente suma y substracción No se puede sustraer Timestamp de Timestamp Puede usar MIN, MAX, COUNT No puede usar SUM, AVG USO DE LAS DURACIONES Simple Time time ---> Formato duración hhmmss (empacado decimal (6,0)) date date ----> Formato duración yyyymmdd (empacado decimal (8,0)) Mediante palabra Un número n seguido por una de las siguientes palabras: - YEARS, MONTHS, DAYS, HOURS, MINUTES, - SECONDS, MICROSECONDS

46 Aritmética en SQL Date/Time ADICION / SUBSTRACCION DE DURACIONES Fecha + duración_fecha Ejemplo: FECHACOL1 + 3 MONTHS Hora + duración_hora - Resulta una fecha - Resulta una hora Ejemplo: HORACOL1 30 MINUTES 20 SECONDS Timestamp + duración_fecha o Duración_hora- Resulta como timestamp Ejemplos: TSTCOL + 2 DAYS 3 HOURS TESTCOL MICROSECONDS

47 Aritmética en SQL Date/Time SUBSTRAYENDO FECHAS Y HORAS Date date FECHACOL1 FECHACOL2 FECHACOL Resulta una duración Time time HORACOL1 HORACOL2 11:30 PM HORACOL1 - Resulta una duración

48 Funciones escalares Date/Time Se usa la palabra CHAR para controlar el formato SELECT CHAR(HFIN, USA), CHAR(HFIN, ISO) FROM DT WHERE NOPROY = AX001 Resultado: :30 PM DAY, MONTH, YEAR, HOUR, MINUTE, SECOND, MICROSECOND - Extrae porciones de una fecha, hora o timestamp - El resultado es un entero binario SELECT DAY(FINICIO), MONTH(FINICIO), YEAR(FINICIO) FROM DT WHERE YEAR(FINICIO) > 1988 Resultado:

49 Funciones escalares Date/Time DAYS Número de días desde Dic. 31, 0000 SELECT FFIN FINICIO, DAYS(FFIN) DAYS (FINICIO) FROM DT WHERE NOPROY = AX001 Resultado: DATE, TIME Extrae fecha u hora de un timestamp

50 Valores Current CURRENT DATE Fecha de hoy CURRENT TIME Hora actual del día CURRENT TIMESTAMP Fecha y hora actual convertida a Timestamp SELECT * FROM DT WHERE FINICIO < CURRENTDATE 90 DAYS

51 Join de tablas PRIMARY KEY FOREIGN KEY ID NOMBRE DEP 10 SANCHEZ PEREZ MARES ORDORICA HERNANDEZ QUEZADA RODRIGUEZ JASSO CASARES POZOS NOGUEZ 15 PRIMARY KEY FOREIGN KEY NUMDE NOMDEP GRTE P 10 DIRECCION GUADALAJARA CHIHUAHUA MORELIA QUERETARO MERIDA JALAPA D.F. 290

52 Join El Join es implementado por la cláusula FROM El resultado puede contener columnas de cualquier tabla descrita en la cláusula FROM Las tablas se relacionan por datos comunes Mediante el predicado Join de la cláusula WHERE NOTA: El predicado Join podría ser la llave primaria de una tabla igual a la llave foránea de otra tabla, ejemplo: NUMDEP = DEP o GRTE = ID

53 Múltiples de tablas Liste los nombres de cada departamento con el nombre de su gerente Q.ORG SELECT NOMDEP, NOMBRE FROM Q.EMP, Q.ORG WHERE GRTE = ID Resultado: NOMDEP NOMBRE CHIHUAHUA SANCHEZ MORELIA MARES GUADALAJARA HERNANDEZ QUERETARO POZOS MERIDA FERNANDEZ DIRECCION MOLINAR JALAPA LARIOS D.F. CELEDON Q.EMP NOMDEP GRTE DIVISION ID NOMBRE.. JALAPA MERIDA FERNANDEZ... GOLFO 270 LARIOS......

54 Múltiples tablas Liste el nombre del departamento y el nombre de su gerente por cada departamento en la división Golfo SELECT NOMDEP, NOMBRE FROM Q.EMP, Q.ORG WHERE DIVISION = GOLFO AND GRTE = ID PRECAUCION: No haga Join en tablas sin un predicado de Join SELECT A1, B1 FROM TBLA, TBLB TBLA RESULT TBLB A1 A2 A3 R1 R2 B1 B2 B3 A A X X B A Y Y C B X B Y C X C Y

55 Join con más de dos tablas SELECT ID, NOMBRE, DEP, NOMDEP, NUMORD FROM Q.EMP, Q.ORG, Q.VENTAS WHERE DEP = NUMDEP AND ID = NUMVEND Resultado: ID NOMBRE DEP NOMDEP NUMORD PEREZ 20 CHIHUAHUA PEREZ 20 CHIHUAHUA PEREZ 20 CHIHUAHUA PEREZ 20 CHIHUAHUA ORDORICA 38 MORELIA 4567

56 Calificadores Q.EMP Q.ORG NUMERO NOMBRE DEP PUESTO NUMERO NOMDEP GRTE SANCHEZ PEREZ GRTE VEND DIRECCION.. CHIHUAHUA Para los gerentes, liste sus nombres, número y nombre de departamento

57 Calificadores SOLUCION: Calificando con el nombre de la tabla SELECT NOMBRE, Q.ORG.NUMERO, NOMDEP FROM Q.EMP, Q.ORG WHERE PUESTO = GRTE AND DEP = Q.ORG.NUMERO Calificador abreviado: Correlaciona SELECT NOMBRE, O.NUMERO, NOMDEP FROM Q.EMP, Q.ORG O WHERE PUESTO = GRTE AND DEP = O.NUMERO

58 Join de una tabla consigo misma Liste cada empleado que haya ganado más que su gerente CONCEPTUALMENTE: 1. Obtenga renglones de empleados de VTEMPL NOEMP NOMBRE... SALARIO... NOGRTE VAZQUEZ Obtenga renglones de gerentes de VTEMPL NOEMP NOMBRE... SALARIO... NOGRTE SANCHEZ Compare los valores de las dos columnas por salario 4. Si las condiciones de búsqueda son satisfactorias, ponga un renglón en la tabla resultado, entonces obtenga otra columna de empleado y procese éste, etc.

59 Join de una tabla consigo misma SOLUCION: SELECT E.NOMBRE, E.SALARIO, M.NOMBRE, M.SALARIO FROM VTEMPL E, VTEMPL M WHERE E.NOGRTE = M.NUMEMP AND E.SALARIO > M.SALARIO NOTA: Los calificadores son requeridos porque: Se refieren a 2 renglones en la misma tabla y 2 nombres de columnas para ambos renglones Resultado: NOMBRE SALARIO NOMBRE SALARIO VAZQUEZ SANCHEZ

60 Unión Utilizado para mezclar los resultados de multiples queries SELECT A1, A4 FROM TBLA WHERE A2 = Z RESULTADO.... UNION SELECT B3, B4 + B2 FROM TBLB WHERE B1 >= N RESULTADO Ejecución en serie de queries Mismo número de columnas en los SELECT.... Los tipos de dato deben de corresponder para las comparaciones UNION mezcla renglones de resultados de tablas, eliminando renglones duplicados UNION ALL es semejante a UNION, excepto que duplicados NO son eliminados y SORTS no son ejecutados

61 Unión Obtenga los rangos de salarios de ventas y oficinas, si dimos a los oficinistas el 17% de aumento y al personal de ventas el 2% SELECT PUESTO, SALARIO * 1.17 FROM Q.EMP WHERE PUESTO = OFIC UNION SELECT PUESTO, SALARIO * 1.02 FROM Q.EMP WHERE PUESTO = VEND ORDER BY 2 DESC Resultado: PUESTO VEND VEND OFIC VEND OFIC

62 Unión all vs Unión SELECT NOMBRE FROM Q.ASPIRANTE WHERE DIRECC LIKE %D.F. UNION ALL UNION SELECT APELLIDO FROM Q.ENTREVISTA WHERE DISP = NOCONT NOMBRE NOMBRE JACOBO FRANCISCO REYNALDO GASPAR LEONARDO JACOBO FRANCISCO LEONARDO RICARDO REYNALDO LEONARDO RICARDO GASPAR

63 SEGUNDO LABORATORIO

64 Subquery ES UN SELECT DENTRO DE UNA CONDICION DE BUSQUEDA, DE ALGUN OTRO SELECT... LOS RESULTADOS DEL SUBQUERY SERAN USADOS COMO VALOR(ES) DENTRO DEL SELECT EXTERNO

65 Ejemplo de subquery EMP Liste los empleados cuyo departamento esté bajo el departamento administrativo A00 APELLIDO DEP SELECT APELLIDO, DEP FROM EMP WHERE DEP IN (SELECT NUMDEP FROM DEP WHERE ADMDEP = A00 DEP NUMDEP ADMDEP EL USUARIO VE SOLO LOS RESULTADOS DEL SELECT DE MAS ALTO NIVEL VALORES DEL SUBQUERY SON REGRESADOS AL SELECT DE MAS ALTO NIVEL

66 Comentario de Subquery PUEDEN ESTAR EN LA CLAUSULA WHERE O EN LA CLAUSULA HAVING PUEDEN ESTAR ANIDADOS DEBEN ESTAR HACIA EL LADO DERECHO DE LA CONDICION DE BUSQUEDA DEBEN ESTAR ENCERRADOS ENTRE PARENTESIS PUEDEN REGRESAR UNO O VARIOS VALORES DESDE UNA SOLA COLUMNA NO PUEDE CONTENER UNION, UNION ALL U ORDER BY

67 Subquery con un solo valor Liste los empleados cuyos salarios son más altos que el promedio de la compañía Encontrar el salario promedio para la compañía (SUBQUERY) SELECT AVG(SALARIO) FROM Q.EMP Compare cada salario de los empleados con el resultado SELECT NOMBRE, SALARIO FROM Q.EMP WHERE SALARIO > (SELECT AVG(SALARIO) FROM Q.EMP) Resultado: NOMBRE SALARIO SANCHEZ PEREZ

68 Subquery con un solo valor Liste los empleados con el salario más alto SELECT NOMBRE, SALARIO FROM Q.EMP WHERE SALARIO = (SELECT MAX(SALARIO) FROM Q.EMP) Resultado: NOMBRE SALARIO MOLINAR

69 Subquery en lista de valores: All Liste alfabéticamente los empleados cuyos salarios son más altos que el salario promedio de cada departamento Encuentre el salario promedio por cada departamento (SELECT AVG(SALARIO) FROM Q.EMP GROUP BY DEP) Resultado: Compare cada salario de los empleados con la lista de promedios de departamentos SELECT NOMBRE, SALARIO FROM Q.EMP WHERE SALARIO > ALL (SELECT AVG(SALARIO) FROM Q.EMP GROUP BY DEP) ORDER BY NAME Resultado: NOMBRE SALARIO FERNANDEZ GUTIERRES JIMENEZ MOLINAR

70 Subquery: Any o Some Liste alfabéticamente los empleados cuyos salarios son más altos que el salario promedio de cualquier departamento Encuentre el salario promedio por cada departamento (SELECT AVG(SALARIO) FROM Q.EMP GROUP BY DEP) Resultado: Compare cada salario de los empleados con la lista de los promedios de departamento SELECT NOMBRE, SALARIO FROM Q.EMP WHERE SALARIO > ANY (SELECT AVG(SALARIO) FROM Q.EMP GROUP BY DEP) ORDER BY NAME Resultado: NOMBRE SALARIO DORIGA DOMINGUEZ ESPAÑA FERNANDEZ GONZALES

71 Subquery: Any-In Liste los gerentes de la División Golfo SELECT DEP, NOMBRE FROM Q.EMP WHERE ID = ANY (SELECT GRTE FROM Q.ORG WHERE DIVISION= GOLFO ) El resultado de el subquery es una lista de gerentes de los departamentos de la división Golfo (30, 100 y 290) IN es equivalente a una serie de OR... = sobre una sola columna IN puede ser sustituido por = ANY SELECT DEP, NOMBRE FROM Q.EMP WHERE ID IN (SELECT GRTE FROM Q.ORG WHERE DIVISION = GOLFO )

72 Subquery dentro de Having Liste aquellos departamentos donde el salario de los no gerentes sean mayores al promedio de los gerentes de la compañía. Incluya en primer lugar el salario promedio más alto SELECT DEP, AVG(SALARIO) FROM Q.EMP WHERE PUESTO = GRTE GROUP BY DEP HAVING AVG(SALARIO) > (SELECT AVG(SALARIO) FROM Q.EMP WHERE PUESTO = GRTE ) ORDER BY 2 DESC Resultado: DEP

73 Subquery correlacionado Liste los empleados cuyos salarios son más altos que el salario promedio de su departamento SELECT NOMBRE, SALARIO FROM Q.EMP CN WHERE SALARIO > (SELECT AVG(SALARIO) FROM Q.EMP WHERE DEP = CN.DEP) Un subquery correlacionado es ejecutado por cada renglón recuperado por el SELECT externo

74 Subquery falso/verdadero Liste la información de aquellos gerentes que ganen menos de $18,000 y cuyo nombre inicie con MAR SELECT ID, NOMBRE, SALARIO, DEP FROM Q.EMP WHERE PUESTO = GRTE AND NOMBRE LIKE MAR% AND EXISTS(SELECT * FROM Q.EMP WHERE PUESTO = GRTE AND SALARIO < 18000) Resultado: ID NOMBRE SALARIO DEP MARES Verdadero/Falso en el SELECT interno Prueba de existencia en el SELECT externo

75 TERCER LABORATORIO

76 Mantenimiento de datos INSERT UPDATE DELETE

77 Insert De un solo renglón: INSERT INTO PROY VALUES ( MA2114,, B01,, NULL, CURRENT DATE, NULL), otra opción: INSERT INTO PROY (NUMDEP, NUMPROY, NOMPROY, EMPRESP, FECINI) VALUES ( B01, MA2114,,, CURRENT DATE) Resultado: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN OP2011 Soporte sistemas E OP2012 Soporte aplicaciones E OP2013 Soporte BD E MA2114 B01? ?

78 Insert De múltiples líneas: PROYPBA NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN INSERT INTO PROYPBA SELECT * FROM PROY WHERE NUMDEP LIKE B% OR NUMDEP IN( E1, E21, E31 ) Resultado: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN PL2100 Planeación B OP1010 Operación E OP2010 Soporte técnico E OP2011 Soporte sistemas E OP2012 Soporte aplicaciones E OP2013 Soporte BD E

79 Update de columnas ANTES: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN MA2113 Control producción D PL2100 Planeación B OP2012 Soporte aplicaciones E OP2013 Soporte BD E MA2114 B01??? UPDATE PROYPBA SET NEMPS * 2, FECFIN = NULL, FECINI = WHERE NUMDEP = B01 DESPUES: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN MA2113 Control producción D PL2100 Planeación B ? OP2012 Soporte aplicaciones E OP2013 Soporte BD E MA2114 B01? ?

80 Update de columnas A un segmento de renglones UPDATE EMP SET SALARIO = SALARIO WHERE PUESTO = OFICI A todos los renglones UPDATE EMP SET ANTIG = ANTIG + 1

81 Delete de renglones ANTES: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN MA2113 Control producción D PL2100 Planeación B ? OP2012 Soporte aplicaciones E OP2013 Soporte BD E MA2114 B01? ? DELETE FROM PROYPBA WHERE NUMDEP = B01 DESPUES: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN MA2113 Control producción D OP2012 Soporte aplicaciones E OP2013 Soporte BD E

82 Delete de todos los renglones ANTES: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN MA2113 Control producción D PL2100 Planeación B ? OP2012 Soporte aplicaciones E OP2013 Soporte BD E MA2114 B01? ? DELETE FROM PROYPBA DESPUES: NUMPROY NOMPROY NUMDEP EMPRESP NEMPS FECINI FECFIN

83 FIN DE MODULO

84 Derechos de autor Este producto has sido elaborado por Jorge Godínez Rodríguez. Derechos reservados Prohibida su reproducción parcial o total 84

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

MANUAL BÁSICO DEL LENGUAJE SQL

MANUAL BÁSICO DEL LENGUAJE SQL MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 2da. Parte Bases de Datos Relacionales Objetivos de la Clase SQL. Tipos de sentencias SQL Describir los tipos de dato que se pueden utilizar al especificar la definición de columnas. Sentencias SQL Select.

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

Unidad. Lenguaje SQL. (Structured Query Language)

Unidad. Lenguaje SQL. (Structured Query Language) Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio

Más detalles

Tutorial de SQL - El comando SELECT

Tutorial de SQL - El comando SELECT Tutorial de SQL - El comando SELECT El objetivo de este documento es guiar su aprendizaje del comando SELECT de SQL. La idea es que, estando conectado a sql*plus, lea este material mientras ejercita simultáneamente

Más detalles

Desarrollo Cobol/DB2

Desarrollo Cobol/DB2 Desarrollo Cobol/DB2 Preparación de programas Precompilador DB2 Toma los postulados SQL del programa fuente Revisa la sintaxis de SQL Crea un programa fuente traducido de las sentencias SQL Crea el DBRM

Más detalles

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos: CONTENIDO. 1. INTRODUCCIÓN 2. TIPOS DE SENTENCIAS SQL 3. TIPOS DE DATOS 4. SQL PLUS 5. CONSULTAS DE DATOS 6. RESTRICCIÓN Y CLASIFICACIÓN DE LOS DATOS 7. FUNCIONES A NIVEL DE FILA 8. VISUALIZACIÓN DE DATOS

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO LENGUAJE DE CONSULTA ESTRUCTURADO - SQL 1. TIPOS DE DATOS 2. COMANDOS DDL 2.1 Créate 2.2 Drop 2.3 Alter 3. COMANDOS DML 3.1 Select 3.2 Insert 3.3 Update 3.4 Delete 4. CLAUSULAS 4.1 From 4.2 Where 4.3 Having

Más detalles

Bases de Datos: Structured Query Language (SQL)

Bases de Datos: Structured Query Language (SQL) Structured Query Language (SQL): Introducción Bases de Datos: Structured Query Language (SQL) Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado

Más detalles

Tipo de Dato TRANSACT SQL

Tipo de Dato TRANSACT SQL Tipos De Datos TRANSACT SQL Tipo de Dato Descripción Numéricos aproximados: float Punto flotante, desde -1.79 E 308 a 1.79 E 308 real Punto flotante, desde 3.40 E 38 a 3.40 E 38 Int entero entre (2 31

Más detalles

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo - 2011 Structured Query Language () Fundamentos de Bases de Datos InCo - Un poco de historia Lenguajes de consulta relacionales: SEQUEL (IBM-1970) QUEL (Ingres-1970) QBE (IBM-1970) es el lenguaje comercial más

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

Tema 4. Manipulación de datos con SQL

Tema 4. Manipulación de datos con SQL Tema 4 Manipulación de datos con SQL Índice Tema 4 1. Inserción de registros. Consultas de datos anexados. 2. Modificación de registros. Consultas de actualización. 3. Borrado de registros. Consultas de

Más detalles

Bases de Datos 2. Teórico

Bases de Datos 2. Teórico Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina

Más detalles

5- Uso de sentencias avanzadas

5- Uso de sentencias avanzadas Objetivos: 5- Uso de sentencias avanzadas Elaborar sentencias de manejo de datos. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Introducción: Después de trabajar con las sentencias

Más detalles

SQL Los fundamentos del lenguaje

SQL Los fundamentos del lenguaje Introducción 1. Un poco de historia 11 2. Las normas SQL 12 3. Descripción rápida del modelo relacional 14 3.1 Principales conceptos del modelo relacional 15 3.2 Principales reglas 16 4. Los operadores

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

Práctica 3. Consultas SQL

Práctica 3. Consultas SQL Práctica 3. Consultas SQL 1. Enunciado En este ejercicio se realizarán consultas SQL que respondan a las preguntas que se plantearán sin utilizar QBE. Dada una base de datos denominada Empresa y definida

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

UNION, INTERSECCION Y DIFERENCIA. SELECT TABLE Expresión con operador de reunión (SELECT * FROM PROFESOR) UNION (SELECT * FROM ESTUDIANTE)

UNION, INTERSECCION Y DIFERENCIA. SELECT TABLE Expresión con operador de reunión (SELECT * FROM PROFESOR) UNION (SELECT * FROM ESTUDIANTE) UNION, INTERSECCION Y DIFERENCIA Las tablas deben tener el mismo número de columnas y con el mismo tipo Los operandos de estos tres operadores pueden ser: SELECT TABLE Expresión con operador de reunión

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

Base de datos Lenguaje SQL

Base de datos Lenguaje SQL Base de datos Lenguaje SQL Universidad Nacional Andrés Bello Contenidos 1 2 Ejemplo Ejemplo Distinct Ejemplo - I Ejemplo - II Ejemplo Ejemplo Top - I Ejemplo Top - II Contenidos 1 2 Ejemplo Ejemplo Distinct

Más detalles

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML)

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML) SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de Datos Outline 1 Actualización, Inserción y Modificación 2 Consultas (Queries) 3 Renombramiento 4 Ordenamiento 5 Reuniones 6

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

Bases de Datos - 2006. SQL - Ejemplos

Bases de Datos - 2006. SQL - Ejemplos Bases de Datos - 2006 SQL - Ejemplos Consideramos la siguiente base de datos relacional: persona(dni,primer-nombre,apellido) biblioteca(nombre-biblioteca,calle,número) libro(título,isbn,editorial,edición)

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

Repaso de Conceptos Básicos de Bases de Datos

Repaso de Conceptos Básicos de Bases de Datos escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos

Más detalles

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera)

SQL. Lenguaje de Consulta Estructurado. Curso básico de SQL (Leire Urcola Carrera) SQL Lenguaje de Consulta Estructurado Curso básico de SQL (Leire Urcola Carrera) Indice de contenidos Introducción Consultas de Selección Criterios de Selección Agrupamiento de Registros y funciones agregadas

Más detalles

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES)

EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES) EL LENGUAJE DE BASES DE DATOS SQL (DDL, DML, TRIGGERS Y STORE PROCEDURES) Por qué son importantes las Bases de Datos? Las Bases de Datos son el método preferido para el almacenamiento estructurado de datos.

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

SQL SQL. Índice. Componentes. Objetivos

SQL SQL. Índice. Componentes. Objetivos Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International

Más detalles

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar / S Q Lenguaje de Consulta Estructurado L Wael Najjar / Wael Stephenson Najjar / Prieto Stephenson Prieto Contenido Parte I El Lenguaje de Consulta Estructurado. Lo que se puede hacer. Lenguaje Estandarizado.

Más detalles

Sql Basico. Seminar Introduction

Sql Basico. Seminar Introduction Sql Basico Seminar Introduction SQL Basico Sobre el modelo anterior de datos haremos un repaso de las consultas sql mas comunes. Devolver todos los datos de una tabla sin filtrar. Select campo_1, campo_2,

Más detalles

El lenguaje SQL es un lenguaje estándar para el acceso y

El lenguaje SQL es un lenguaje estándar para el acceso y 1. INTRODUCCIÓN El lenguaje SQL es un lenguaje estándar para el acceso y manipulación de bases de datos relacionales como SQL Server. Esto quiere decir que aprender SQL es algo indispensable para cualquier

Más detalles

SENTENCIAS Y CONSULTAS EN SQL SERVER

SENTENCIAS Y CONSULTAS EN SQL SERVER SENTENCIAS Y CONSULTAS EN SQL SERVER En esta sección nos preocuparemos por conocer, las consultas en SQL que describiremos aquí. Para eso haremos un pequeño de las palabras claves que se utilizan en SQL,

Más detalles

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos

Ing. Santiago C. Pérez Laura Noussan Lettry Carlos Campos UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL MENDOZA DEPARTAMENTO DE INGENIERÍA EN SISTEMAS DE INFORMACIÓN CÁTEDRA DE GESTIÓN DE DATOS 3º AÑO TRABAJO ESPECIAL Secuencia Didáctica de Comandos del

Más detalles

SQL (Structured Query Language)- DML

SQL (Structured Query Language)- DML SQL (Structured Query Language)- DML Data Manipulation Language: Data Definition Language: Control Commands: Authorization Commands: SELECT, UPDATE, INSERT, DELETE CREATE: TABLE, INDEX, VIEW DROP: TABLE,

Más detalles

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

MySQL y Sesiones en PHP. Área de Ingeniería Telemática MySQL y Sesiones en PHP Contenido Repaso de SQL PHP y MySQL MySQL en PHP 2 Numéricos Standard: Repaso SQL: tipo de datos INTEGER o INT, SMALLINT, DECIMAL o DEC, NUMERIC FLOAT, REAL, DOUBLE PRECISION BIT

Más detalles

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I Boletín de Problemas de la Asignatura II18 Bases de Datos Ingeniería Informática Universitat Jaume I Ingeniería Informática. Universitat Jaume I II18 - Bases de Datos. Práctica 1 Práctica 1 Objetivos de

Más detalles

Procedimientos para agrupar y resumir datos

Procedimientos para agrupar y resumir datos Procedimientos para agrupar y resumir datos Contenido Introducción Presentación de los primeros n valores Uso de funciones de agregado 4 Fundamentos de GROUP BY 8 Generación de valores de agregado dentro

Más detalles

DESCRIPCIÓN ESPECÍFICA

DESCRIPCIÓN ESPECÍFICA DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios. SUBSECTOR: Informática. Nombre del Módulo: Programación de Base de Datos Código: CSTI0077 Duración total: 54 horas Objetivo General: Participar

Más detalles

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción:

Una vez creada la BD podemos pedirle a MySQL que nos muestre todas las BD existentes. Para eso utilizamos la siguiente instrucción: Guía de MySQL Contenidos: 1.- Introducción: 2.- Creación de una base de datos. CREATE DATABASE. 3.- Creación de una tabla y mostrar sus campos (CREATE TABLE - SHOW TABLES - describe - DROP TABLE) 4.- Instrucción

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

EXISTS y NOT EXISTS. Empleados que no trabajan en el proyecto 527.

EXISTS y NOT EXISTS. Empleados que no trabajan en el proyecto 527. EMPLEADO(dni,nombree,direccion, sexo,salario,fecha_nac,dni_super,numerod ) DEPARTAMENTO(numerod,nombred,dni_dir, fecha_ini) PROYECTO(numerop,nombrep,lugar,numerod ) TRABAJA_EN(dni,numerop,horas) 54 EXISTS

Más detalles

BREVE INTRODUCCIÓN AL SQL Aplicación al Programa Escuela Última actualización: 17/10/2000

BREVE INTRODUCCIÓN AL SQL Aplicación al Programa Escuela Última actualización: 17/10/2000 Secretaría General de Educación y Formación Profesional Dirección General de Educación, Formación Profesional e Innovación Educativa Subdirección General de Acción Educativa BREVE INTRODUCCIÓN AL SQL Aplicación

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 11: Reconocimiento de la unidad 3 GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de datos orientadas

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com. Maestría en Bioinformática Bases de Datos y Sistemas de Información Diseño Lógico Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda Conceptos Herramientas Diseño lógico Modelo Relacional Las

Más detalles

[CASI v.0110] Pág. 1

[CASI v.0110] Pág. 1 I. DATOS INFORMATIVOS II. SUMILLA Carrera Especialidad Curso Código : T-INF105 Ciclo : Segundo Requisitos : Ninguno Duración : 12 Semanas Horas Semana : 06 horas Versión : v.0110 : COMPUTACIÓN E INFORMATICA

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

SQL. Orígenes y Evolución

SQL. Orígenes y Evolución SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language

Más detalles

DML SQL II. Comparaciones con relaciones

DML SQL II. Comparaciones con relaciones DML SQL II Comparaciones con relaciones Subconsultascopiar Hasta ahora las condiciones en WHERE involucraban valores escalares Pero, como en el caso de Julie Andrews puede que aparezca SELECT como parte

Más detalles

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas LENGUAJE SQL Que es SQL? SQL es un estándar un lenguaje estructurado para consultas SQL te permite acceder y manejar bases de datos SQL es un Estándar (ANSI American National Standards Institute) Que puede

Más detalles

T12 Vistas y tablas temporales

T12 Vistas y tablas temporales 1 de 9 17/05/2013 14:01 Lecciones SQL > T12 Vistas y tablas temporales En esta sesión vamos a mostrar dos tipos de objetos de uso habitual en cualquier SGBD: las vistas y las tablas temporales. Mientras

Más detalles

6- Combinación de tablas

6- Combinación de tablas Objetivos: 6- Combinación de tablas Utiliza sentencias para unir los datos de diferentes tablas. Recursos: Microsoft SQL Server Management Studio Guías prácticas. Script de bases de datos. Introducción

Más detalles

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología Universidad Capitán General Gerardo Barrios Facultad de Ciencia y Tecnología Guía práctica de Base de Datos I Sentencias básicas de SQL, utilizadas en Mysql, con la base de datos Northwind. Docente: Lic.Ms.

Más detalles

3 Consultas y subconsultas

3 Consultas y subconsultas 3 Consultas y subconsultas En SQL, la sentencia SELECT permite escribir una consulta o requerimiento de acceso a datos almacenados en una base de datos relacional. Dichas consultas SQL van desde una operación

Más detalles

2. Obtener el valor absoluto del SALARIO-10000000 para todas las filas de la tabla EMPLE

2. Obtener el valor absoluto del SALARIO-10000000 para todas las filas de la tabla EMPLE 1. Obtener el valor absoluto de 20 Select abs(-20) from dual 2. Obtener el valor absoluto del SALARIO-10000000 para todas las filas de la tabla EMPLE select abs(salario -1000000) from emple 3. Sustituir

Más detalles

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas OPTIMIZACIÓN DE CONSULTAS EN SQL Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas Análisis de Consultas y Transacciones Para elaborar el diseño físico de la base de datos debemos

Más detalles

APÉNDICE SQL (Structures Query Language)

APÉNDICE SQL (Structures Query Language) SQL 1 / 7 APÉNDICE SQL (Structures Query Language) SQL se ha establecido como lenguaje de bases de datos relacionales estándar, y se pueden distinguir tres partes: DDL (Data Definition Language) permite

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete

Taller SQL - SUP. Introducción al Lenguaje SQL. Claúsula Where. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete Taller SQL - SUP Introducción al Lenguaje SQL. Sentencia Select Sentencia Insert Sentencia Update Sentencia Delete Claúsula Where Condiciones de Búsqueda Operadores de Comparación Rangos Listas Patrones

Más detalles

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación

Más detalles

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

Conceptos Avanzados de Bases de datos

Conceptos Avanzados de Bases de datos Página 1 Conceptos Avanzados de Bases de datos (1) Introducción a las Bases de Datos (2) Lenguaje Estándar de Consultas SQL Definición formal SQL Página 2 Es un conjunto exhaustivo (en su modelización

Más detalles

Tema: Uso de sentencias SQL

Tema: Uso de sentencias SQL Base de datos I. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Uso de sentencias SQL Objetivo Modificar, eliminar e insertar registros en una tabla Listar los registros

Más detalles

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 3: Interrogación y explotación de datos. Leire Aldaz, Begoña Eguía y Leire Urcola

MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN. Tema 3: Interrogación y explotación de datos. Leire Aldaz, Begoña Eguía y Leire Urcola MÓDULO 1: ORGANIZACIÓN Y ESTRUCTURA DE LA INFORMACIÓN Leire Aldaz, Begoña Eguía y Leire Urcola Índice del tema Introducción al lenguajes SQL Consultas en lenguaje SQL y QBE Predicados y funciones INTRODUCCIÓN

Más detalles

Práctica 1. 1. Obtener el código y el doble del precio de los artículos cuyo precio es inferior a 5 céntimos de euro.

Práctica 1. 1. Obtener el código y el doble del precio de los artículos cuyo precio es inferior a 5 céntimos de euro. Práctica 1 Objetivos de aprendizaje: Funcionamiento de la sentencia select y sus cláusulas select, from y where. Uso del modificador distinct. Expresiones en las cláusulas select y where. Ejercicios: 1.

Más detalles

Temario. Índices simples Árboles B Hashing

Temario. Índices simples Árboles B Hashing Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases

Más detalles

SERVICIO NACIONAL DE APRENDIZAJE SENA

SERVICIO NACIONAL DE APRENDIZAJE SENA SERVICIO NACIONAL DE APRENDIZAJE SENA GUÍA DE APRENDIZAJE SISTEMA INTEGRADO DE GESTIÓN Proceso Gestión de la Formación Profesional Integral Procedimiento Ejecución de la Formación Profesional Integral

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

DML en SQL. Consultas sencillas usando el DML de SQL

DML en SQL. Consultas sencillas usando el DML de SQL DML en SQL Consultas sencillas usando el DML de SQL Base Datos de Películas Para rellenar la base se ha utilizado información proveniente de The internet Movie- Database http://www.imdb.com/list Todos

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers Subconsultas Stored Procedures - Triggers Subconsultas Concepto Ubicación En el SELECT En el FROM En el WHERE Operadores IN ANY-ALL EXISTS Concepto Son sentencias SELECT que aparecen dentro de otra consulta

Más detalles

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL) OBJETIVOS: Enseñar al alumno las sentencias que forman el lenguaje de definición de datos de SQL, es decir, el subconjunto de órdenes que nos permitirán crear o editar esquemas de bases de datos. MATERIAL:

Más detalles

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS

EXPLOTACIÓN DE BASES DE DATOS CON ACCESS EXPLOTACIÓN DE BASES DE DATOS CON ACCESS Por qué son importantes las Bases de Datos? Las Bases de Datos son el método preferido para el almacenamiento estructurado de datos. Desde las grandes aplicaciones

Más detalles

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL Página 1 de 28 es un estandar para accesar y manejar bases de datos Este tutorial te va a mostrar como manejar bases de datos en My, Server, MS Access, Oracle, Sybase, DB2 y otras bases de datos Que es?

Más detalles

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por:

Primeramente estudiaremos la forma básica de la sentencia SELECT, que esta formado por: Oracle básico (II): Creación y manejo de tablas Con el artículo anterior iniciamos una entrega de Oracle Básico comenzando con el tema de creación y manejo de tablas. Ahora pasaremos a estudiar la consulta

Más detalles

EJERCICIOS DEL TEMA 1

EJERCICIOS DEL TEMA 1 EJERCICIOS DEL TEMA 1 Introducción a los ordenadores 1) Averigua y escribe el código ASCII correspondiente, tanto en decimal como en binario, a las letras de tu nombre y apellidos. Distinguir entre mayúsculas/minúsculas,

Más detalles

TEMA 20: CONCEPTOS BÁSICOS DE SQL

TEMA 20: CONCEPTOS BÁSICOS DE SQL TEMA 20: CONCEPTOS BÁSICOS DE SQL OBJETIVOS DEL TEMA Introducción al lenguaje de consultas SQL. Para iniciar esta parte del curso se va a utilizar el programa SQLITE que es sencillo, multiplataforma y

Más detalles

Metodología de validación para el Sistema Estadístico del Sector Asegurador (SESA), del ramo de Crédito a la vivienda

Metodología de validación para el Sistema Estadístico del Sector Asegurador (SESA), del ramo de Crédito a la vivienda DIRECCIÓN DE DAÑOS Y AUTOS ESTADÍSTICA 2009 Metodología de validación para el Sistema Estadístico del Sector Asegurador (SESA), del ramo de Crédito a la vivienda El siguiente documento presenta las especificaciones

Más detalles

ÍNDICE INTRODUCCIÓN...13

ÍNDICE INTRODUCCIÓN...13 ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y

Más detalles

Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012

Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012 Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012 Audiencia Este documento va dirigido a desarrolladores, estudiantes universitarios y usuarios de SQL que tengan conocimiento básico

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127 I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Tercero Requisitos Duración Horas Semana : 06 horas Versión : v.0110 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería

Más detalles

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales

BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales BASES DE DATOS TEMA 4. SQL. UN LENGUAJE DE CONSULTA COMERCIAL PARA BASES DE DATOS RELACIONALES Contenidos generales * Definición de datos en SQL * Consulta de datos en SQL - Estructura básica de una sentencia

Más detalles

Bases de datos: Sistemas de bases de datos:

Bases de datos: Sistemas de bases de datos: Bases de datos: Sistemas de bases de datos: Un sistema de bases de datos es básicamente un sistema para archivar en computador, es decir, es un sistema computarizado cuyo propósito general es mantener

Más detalles