Está en la página 1de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

BASE DE DATOS

Docente: Ing. Daz Leyva Teodoro Tema: Implementacin de Consultas Bsicas Semana N 09

1. INTRODUCCIN Las consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin de las bases de datos. Esta informacin es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este conjunto de registros es modificable. Cuando las peticiones se hacen ms complejas, deben utilizarse caractersticas adicionales de la sentencia SELECT para especificar la consulta con precisin. La sentencia SELECT consta de siete clusulas. Las clausulas SELECT y FROM de la sentencia son necesarias. Las cinco restantes son opcionales. Se incluyen en la sentencia SELECT solamente cuando se desean utilizar las funciones que proporcionan.

SELECT INTO FROM WHERE GROUP BY HAVING ORDER BY COMPUTE BY [WITH ROLLUP/CUBE]

Puede faltar una de ellas pero el orden se mantiene

Pgina 1 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


a. Esquema de base de datos para los ejemplos:

b.

Crear base de datos ventas y tablas

USE MASTER if DB_ID('VENTAS') IS NOT NULL BEGIN DROP DATABASE VENTAS END CREATE DATABASE VENTAS ON (NAME='VENTAS_DATA', FILENAME='D:\BDVENTAS2013\VENTAS_DATA.MDF', SIZE=10MB, MAXSIZE=20MB, FILEGROWTH=1MB ) LOG ON (NAME='VENTAS_LOG', FILENAME='D:\BDVENTAS2013\\VENTAS_LOG.LDF', SIZE=5MB, MAXSIZE=15MB, FILEGROWTH=1MB ) Pgina 2 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


USE VENTAS if object_id('EMPLEADO') IS NOT NULL DROP TABLE EMPLEADO if object_id('DISTRITO') IS NOT NULL DROP TABLE DISTRITO if object_id('CLIENTE') IS NOT NULL DROP TABLE CLIENTE if object_id('CLIENTE_PER_JURIDICA') IS NOT NULL DROP TABLE CLIENTE_PER_JURIDICA if object_id('CLIENTE_PER_NATURAL') IS NOT NULL DROP TABLE CLIENTE_PER_NATURAL if object_id('TIPO_PRODUCTO') IS NOT NULL DROP TABLE TIPO_PRODUCTO if object_id('PRODUCTO') IS NOT NULL DROP TABLE PRODUCTO if object_id('BOLETA') IS NOT NULL DROP TABLE EMPLEADO if object_id('DETALLEBOLETA') IS NOT NULL DROP TABLE DETALLEBOLETA CREATE TABLE DISTRITO( COD_DIST CHAR(7) NOT NULL, DESCRIP_DIST VARCHAR(35), )

CREATE TABLE EMPLEADO( COD_EMP CHAR(7) NOT NULL, NOMBRES_EMP VARCHAR(30), APE_PATER_EMP VARCHAR(20), APE_MATER_EMP VARCHAR(20), FECHA_NAC_EMP DATE, DIRECCION_EMP VARCHAR(45), TELEFONO_EMP VARCHAR(20), COD_DIST_EMP CHAR(7) NOT NULL, CORREO_E_EMP VARCHAR(25), FECHA_INGRESO_EM DATE, COD_SUPERVISOR_EMP CHAR(7) ) CREATE TABLE CLIENTE( COD_CLI CHAR(7) NOT NULL, DIRECCION_CLI VARCHAR(45), TELFONO_CLI VARCHAR(20), CODDIST_CLI CHAR(7), COREO_E VARCHAR(25), WEB VARCHAR(45) ) Pgina 3 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


CREATE TABLE CLIENTE_PER_JURIDICA( COD_CLI CHAR(7) NOT NULL, RAZONSOCIAL_CLI VARCHAR(30), RUC_CLI VARCHAR(11), CONTACTO_CLI VARCHAR(25), COD_CARGO_CLI CHAR(5) ) CREATE TABLE CLIENTE_PER_NATURAL( COD_CLI CHAR(7) NOT NULL, NOMBRES_CLI VARCHAR(25), APE_PATER_CLI VARCHAR(20), APE_MATER_CLI VARCHAR(20) ) CREATE TABLE TIPO_PRODUCTO( COD_TIPO_PRO CHAR(7) NOT NULL, DESCRIP_TIPO_PROD VARCHAR(120 ) CREATE TABLE PRODUCTO( COD_PRO CHAR(7) NOT NULL, DESCRIP_PRO VARCHAR(120), STOCK_ACT_PRO INT, STOCK_MIN_PRO INT, COD_TIPO_PROD CHAR(7) NOT NULL )

CREATE TABLE BOLETA( COD_BOL CHAR(7) NOT NULL, COD_EMP CHAR(7) NOT NULL, FECHA_BOL DATE, COD_CLI CHAR(7) NOT NULL, ESTADO_BOL VARCHAR(15) ) CREATE TABLE DETALLEBOLETA( COD_BOL CHAR(7) NOT NULL, COD_PRO CHAR(7) NOT NULL, CANTIDAD INT, PRECIOVENTA DECIMAL(9,2) )

Pgina 4 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Clave primaria(Primary Key) ALTER TABLE EMPLEADO ADD CONSTRAINT EMPLEADO_PK PRIMARY KEY(COD_EMP) GO ALTER TABLE DISTRITO ADD CONSTRAINT DISTRITO_PK PRIMARY KEY(COD_DIST) GO ALTER TABLE CLIENTE ADD CONSTRAINT CLIENTE_PK PRIMARY KEY(COD_CLI) GO ALTER TABLE CLIENTE_PER_JURIDICA ADD CONSTRAINT CLIENTE_PER_JURIDICA_PK PRIMARY KEY(COD_CLI) GO ALTER TABLE CLIENTE_PER_NATURAL ADD CONSTRAINT CLIENTE_PER_NATURAL_PK PRIMARY KEY(COD_CLI) GO ALTER TABLE PRODUCTO ADD CONSTRAINT PRODUCTO_PK PRIMARY KEY(COD_PRO) GO ALTER TABLE TIPO_PRODUCTO ADD CONSTRAINT TIPO_PRODUCTO_PK PRIMARY KEY(COD_TIPO_PRO) GO ALTER TABLE BOLETA ADD CONSTRAINT BOLETA_PK PRIMARY KEY(COD_BOL) GO ALTER TABLE DETALLEBOLETA ADD CONSTRAINT DETALLEBOLETA_PK PRIMARY KEY(COD_BOL,COD_PRO) c. Clave fornea (Foreign Key)sobre una columna o combinacion de columnas y relacionar tablas.

ALTER TABLE EMPLEADO ADD CONSTRAINT EMPLEADO_FK FOREIGN KEY(COD_SUPERVISOR_EMP) REFERENCES EMPLEADO(COD_EMP) GO ALTER TABLE EMPLEADO ADD CONSTRAINT DISTRITO_EMPLEADO_FK FOREIGN KEY(COD_DIST_EMP) REFERENCES DISTRITO(COD_DIST) GO Pgina 5 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


ALTER TABLE CLIENTE ADD CONSTRAINT DISTRITO_CLIENTE_FK FOREIGN KEY(CODDIST_CLI) REFERENCES DISTRITO(COD_DIST) GO ALTER TABLE CLIENTE_PER_JURIDICA ADD CONSTRAINT CLIENTE_CLIENTE_PER_JURIDICA_FK FOREIGN KEY(COD_CLI) REFERENCES CLIENTE(COD_CLI) GO ALTER TABLE CLIENTE_PER_NATURAL ADD CONSTRAINT CLIENTE_CLIENTE_PER_NATURAL_FK FOREIGN KEY(COD_CLI) REFERENCES CLIENTE(COD_CLI) GO ALTER TABLE BOLETA ADD CONSTRAINT CLIENTE_BOLETA_FK FOREIGN KEY(COD_CLI) REFERENCES CLIENTE(COD_CLI) GO ALTER TABLE BOLETA ADD CONSTRAINT EMPLEADO_BOLETA_FK FOREIGN KEY(COD_EMP) REFERENCES EMPLEADO (COD_EMP) GO ALTER TABLE PRODUCTO ADD CONSTRAINT TIPO_TIPO_PRODUCTO_PRODUCTO_FK FOREIGN KEY(COD_TIPO_PROD) REFERENCES TIPO_PRODUCTO(COD_TIPO_PRO) GO ALTER TABLE DETALLEBOLETA ADD CONSTRAINT PRODUCTO_DETALLEBOLETA_FK FOREIGN KEY(COD_PRO) REFERENCES PRODUCTO (COD_PRO) GO ALTER TABLE DETALLEBOLETA ADD CONSTRAINT BOLETA_DETALLEBOLETA_FK FOREIGN KEY(COD_BOL)REFERENCES BOLETA(COD_BOL)

Pgina 6 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


d. Registros

INSERT INTO DISTRITO VALUES('D001','CHORRILLOS') INSERT INTO DISTRITO VALUES('D002','RIMAC') INSERT INTO DISTRITO VALUES('D003','BARRANCO') INSERT INTO DISTRITO VALUES('D004','LOS OLIVOS') INSERT INTO DISTRITO VALUES('D005','LINCE') INSERT INTO DISTRITO VALUES('D006','VILLA EL SALVADOR') INSERT INTO DISTRITO VALUES('D007','ANCON') INSERT INTO DISTRITO VALUES('D008','SURCO') GO INSERT INTO EMPLEADO( COD_EMP,NOMBRES_EMP,APE_PATER_EMP,APE_MATER_EMP,FECHA_NAC_E MP,DIRECCION_EMP,TELEFONO_EMP,COD_DIST_EMP,CORREO_E_EMP,FECH A_INGRESO_EM) VALUES ('E005', 'FRANO ','SALCEDO', ' PUMA', '12-06-70 ','JR. LOS NOGALES','578-7188','D003','JPEREZ@HOTMAIL.COM','22-08-76') INSERT INTO EMPLEADO VALUES( 'E001', 'FRANCISCO ','FLORES', ' SALAZAR', '26-05-85 ','AV. LOS ALISOS 233 ','578-7188','D002','JPEREZ@HOTMAIL.COM','2208-90','E005') INSERT INTO EMPLEADO VALUES( 'E002', 'MARIA','VASQUEZ', ' SILVA', '08-06-76 ','AV. LA MARINA 964 ','578-7122','D002','MVASQUEZ@HOTMAIL.COM','22-0895','E005') INSERT INTO EMPLEADO VALUES( 'E003', 'FANY ','RAMIREZ', ' VILLAR', '26-10-80 ','JR. PUNO 554 ','228-7182','D005','LRAMIREZ@HOTMAIL.COM','22-08-90','E005') INSERT INTO EMPLEADO VALUES( 'E004', 'DIANA ','MARIN', ' SILVA', '12-02-76 ','JR. LOS PINOS 235','578-7188','D003','DMARIN@HOTMAIL.COM','22-08-90','E005') INSERT INTO EMPLEADO VALUES( 'E006', 'ANGELICA','SIMEON', ' JULCA', '0810-76 ','AV. SALAZAR 44 ','578-7122','D002','ASJ@HOTMAIL.COM','22-05-80','E005') INSERT INTO EMPLEADO VALUES( 'E007', 'LUIS','MOTA', ' QUIROZ', '08-10-80 ','AV. PERU 911 ','511-7122','D002','LUISM@HOTMAIL.COM','22-08-95','E005') INSERT INTO EMPLEADO VALUES( 'E008', 'ANA','RUIZ', ' OLIVA', '08-10-76 ','AV. LA PAZ 964 ','578-7122','D002','ANAR@HOTMAIL.COM','22-05-80','E005') GO INSERT INTO TIPO_PRODUCTO VALUES('T001','ACEITES') INSERT INTO TIPO_PRODUCTO VALUES('T002','LICORES') INSERT INTO TIPO_PRODUCTO VALUES('T003','MATERIALES ELCTRICOS') GO INSERT INTO PRODUCTO VALUES('P001','ACEITES VEGETAL AGUACATE',120,5,'T001') INSERT INTO PRODUCTO VALUES('P002','ACEITES VEGETAL ALMENDRA DULCE',200,5,'T001') INSERT INTO PRODUCTO VALUES('P003','ACEITES VEGETAL GERMEN DE TRIGO',80,5,'T001') INSERT INTO PRODUCTO VALUES('P004','ACEITES VEGETAL JOJOBA',80,5,'T001')

Pgina 7 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


INSERT INTO PRODUCTO VALUES('P005','ACEITES VEGETAL JOJOBA',80,5,'T002') INSERT INTO PRODUCTO VALUES('P006','PISCO VIEJO TONEL ACHOLADO',80,5,'T002') INSERT INTO PRODUCTO VALUES('P007','PISCO VIEJO TONEL PURO',120,5,'T002') INSERT INTO PRODUCTO VALUES('P008','PISCO SOL DE ICA',120,5,'T002') INSERT INTO PRODUCTO VALUES('P009','PISCOS VARGAS',12,05,'T002') INSERT INTO PRODUCTO VALUES('P010','PISCO QUEIROLO QUEBRANTA',90,5,'T002') INSERT INTO PRODUCTO VALUES('P011','VINO NAVARRO CORREA FINCA DOLORES',85,5,'T002') INSERT INTO PRODUCTO VALUES('P012','VINO CASILLERO DEL DIABLO CABERNET TINTO',85,5,'T002') INSERT INTO PRODUCTO VALUES('P013','FUENTE THERMALTAKE 750W - COD. 312',20,5,'T003') INSERT INTO PRODUCTO VALUES('P014','FUENTE THERMALTAKE 550W - COD. 310',20,5,'T003') INSERT INTO PRODUCTO VALUES('P015','FUENTE DE PODER MICRONICS 250W / 550',20,5,'T003') GO INSERT INTO CLIENTE VALUES('C001','AV. LA MAR 333 CHORRILLOS','966714489','D005','SISA@GMAIL.COM','WWW.SISA.COM') INSERT INTO CLIENTE VALUES('C002','AV. PRADO 111 LINCE','966714422','D002','PALMA@GAMIL.COM','WWW.PALMA.COM') INSERT INTO CLIENTE VALUES('C003','JR. AVARADO 45 LINCE','966714422','D003','ALVA@GAMAIL.COM','WWW.ALVA.COM') INSERT INTO CLIENTE VALUES('C004','JR. LOS JIRASOLES 45 BARRANCO','55714421','D004','JIRAL@GMAIL.COM','WWW.JIRASOLES.COM') INSERT INTO CLIENTE VALUES('C005','JR. GOMEZ SANCHEZ 331 BARRANCO','66714424','D004','GOMEZ@GMAIL.COM','WWW.GOMEZ.COM') GO INSERT INTO CLIENTE_PER_JURIDICA VALUES('C004','DUPLO SA','20414256361','JUAN GIMENEZ','CA01') INSERT INTO CLIENTE_PER_JURIDICA VALUES('C005','ESCODA EDUARDO SA','20414256361','JUAN GIMENEZ','CA01') GO INSERT INTO CLIENTE_PER_NATURAL VALUES('C001','CECILIA ','PELAES' ,'PUMA') INSERT INTO CLIENTE_PER_NATURAL VALUES('C002','ALBERTO ','PALMA' ,'LOZANO') INSERT INTO CLIENTE_PER_NATURAL VALUES('C003','MARIA ','ALVARADO' ,'SILVA') GO INSERT INTO BOLETA VALUES('B001','E002','26-11-2010','C002','EMITIDA') INSERT INTO BOLETA VALUES('B002','E002','15-02-2010','C002','EMITIDA') Pgina 8 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


INSERT INTO BOLETA VALUES('B003','E001','26-05-2013','C001','EMITIDA') INSERT INTO BOLETA VALUES('B004','E001','26-05-2009','C003','EMITIDA') INSERT INTO BOLETA VALUES('B005','E001','26-05-2011','C003','EMITIDA') GO INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INTO DETALLEBOLETA VALUES('B001','P003',1,15) INTO DETALLEBOLETA VALUES('B001','P004',1,12) INTO DETALLEBOLETA VALUES('B002','P011',1,30) INTO DETALLEBOLETA VALUES('B003','P011',2,30) INTO DETALLEBOLETA VALUES('B003','P009',1,45) INTO DETALLEBOLETA VALUES('B004','P012',2,70) INTO DETALLEBOLETA VALUES('B004','P006',2,40) INTO DETALLEBOLETA VALUES('B005','P006',1,40) INTO DETALLEBOLETA VALUES('B005','P008',1,40) INTO DETALLEBOLETA VALUES('B005','P009',1,45)

Pgina 9 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS Funciones para el manejo de datos


Funciones de fecha Funcin Descripcin Devuelve el nmero de lmites datepart de fecha y hora entre dos fechas especificadas.

DATEDIFF ( datepart , startdate , enddate )


DATEDIFF
SET DATEFORMAT DMY DECLARE @FECHAINICIAL DATE = '01-08-2011'; DECLARE @FECHAFINAL DATE = '01-09-2011'; SELECT DATEDIFF(DAY, @FECHAINICIAL,@FECHAFINAL) AS 'DURACION'

DATENAME

Devuelve una cadena de caracteres que representa el datepart especificado de la fecha especificada.

DATENAME ( datepart , date )


SELECT DATENAME(MONTH, GETDATE()) AS 'MES'

DATEPART

Devuelve un entero que representa el datepart especificado del date especificado.

DATEPART ( datepart , date )


SELECT DATEPART(MONTH, GETDATE()) AS 'MES'

DAY GETDATE MONTH

Devuelve un entero que representa la parte del da datepart de la fecha especificada.


SELECT DAY('01/9/2011') AS 'DA DEL MES'

Devuelve la fecha del sistema


SELECT GETDATE() 'FECHA DEL SISTEMA'

Devuelve un entero que representa el mes de date especificado. MONTH devuelve el mismo valor que DATEPART (month, date).
SELECT MONTH(GETDATE()) AS 'MES DE LA FECHA DE SISTEMA'

YEAR

Devuelve un entero que representa el ao de date especificado. YEAR devuelve el mismo valor que DATEPART (year, date).
SELECT YEAR(GETDATE()) AS 'AO DE LA FECHA DE SISTEMA'

Funciones para el manejo de cadenas Funcin Descripcin Devuelve la parte izquierda de una cadena de caracteres con LEFT el nmero de caracteres especificado.
LEFT ( character_expression , integer_expression )

LEN LOWER LTRIM RTRIM

Devuelve el nmero de caracteres de la expresin de cadena especificad, excluidos los espacios en blanco finales.
LEN ( string_expression )

Devuelve una expresin de caracteres despus de convertir en minsculas los datos de caracteres en maysculas.
LOWER ( character_expression )

Devuelve una expresin de caracteres tras quitar todos los espacios iniciales en blanco.
LTRIM ( character_expression )

Devuelve una cadena de caracteres despus de truncar todos los espacios en blanco finales.
RTRIM ( character_expression )

Pgina 10 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Devuelve parte de una expresin de caracteres, binaria, de texto o de imagen.
SUBSTRING (value_expression, start_expression, length_expression)

SUBSTRING

UPPER

Devuelve una expresin de caracteres con datos de caracteres en minsculas convertidos a maysculas.
UPPER ( character_expression )

Ejemplos: Funciones de fecha Mostrar la Fecha y Hora del Sistema. Mostrar el Mes actual en Numero. Mostrar el Mes actual el Letras. Mostrar el dia actual del sistema. Mostrar el mes actual. Mostrar el Ao actual. Mostrar el siguiente Formato: Dia, Mes, Ao Mostrar el siguiente Formato: Dia, Mes en Letras, Ao Select GETDATE() Select DATEPART(month,getDate()) Select DATENAME(month,getDate()) Select DAY(getDate()) Select MONTH(getDate()) Select YEAR(getDate()) Select DAY(getDate()) AS DIA, MONTH(getDate()) AS MES, YEAR(getDate()) AS AO Select DAY(getDate()) AS DIA, DATENAME(month,getDate()) as LETRAS], YEAR(getDate()) AS AO [MES EN

Pgina 11 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

Funciones numricas para Select Mostrar el Valor Select ABS(STOCK_MIN_PRO) Absoluto del Campo From Producto STOCK_MIN_PRO Mostrar los Precios de los Productos Select Ceiling(PRECIOVENTA) redondeados al entero From DETALLEBOLETA mas pequeo mayor o igual que el Precio. Mostrar los Precios de los productos Select Floor(PRECIOVENTA) redondeados al entero From DETALLEBOLETA mas grande que es menor o igual al Precio. Mostrar el Stock elevado Select Power(STOCK_ACT_PRO,2) a la dos de todos los From Producto productos. Mostrar los Precios de los Productos Select cod_bol, cod_pro,round(precioventa,2) redondeados a 2 from detalleboleta Decimales Mostrar a 2 decimales los Precios de los Select Convert(Char(10), precioventa,2) Productos utilizando From detalleboleta conversion. Funciones de Cadena para Select Mostrar las 3 Primeras Letras del Nombre del Select LEFT(nombres_emp,3) From Empleado Empleado Mostrar la longitud en cadena de caracteres del Select LEN(nombres_emp) From Empleado nombre de los Empleado Mostrar los datos de la Direccion de los Select LOWER(direccion_emp) From empleado empleados en escrito Minuscula Mostrar al reves los codigos registrados a Select REVERSE(cod_emp) From Empleado los Empleados Mostrar las 4 Ultimas Letras de la descripcin Select RIGHT(descrip_pro,4) From Producto del Producto

Pgina 12 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Mostrar una lista de los empleados de forma que la direccin y el telfono aparescan concatenados pero separado por comas. Mostrar los datos de la Direccion de los empleados en escrito Mayusculas

select nombres_emp as Nombre, fecha_ingreso_em as [Fecha de Ingreso] , direccion_emp+','+space(1)+telefono_emp as Contacto,correo_e_emp as Correo from Empleado Select UPPER(direccion_emp)From empleado

2. CONSULTAS SENCILLAS La sintaxis bsica de una consulta de seleccin es la siguiente: SELECT Campos FROM Tabla En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo: SELECT * FROM EMPLEADO Esta consulta devuelve un recordset con todos los campos de la tabla EMPLEADOS. SELECT NOMBRES_EMP, APE_PATER_EMP FROM EMPLEADO Esta consulta devuelve un recordset con los campos NOMBRES_EMP y APE_PATER_EMP de la tabla EMPLEADO. 3. ORDENAR LOS REGISTROS Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la clusula ORDER BY (Lista de Campos). En donde Lista de campos representa los campos a ordenar. Ejemplo: SELECT * FROM EMPLEADO ORDER BY APE_PATER_EMP ASC Esta consulta devuelve todos los campos de la tabla EMPLEADO ordenados por el campo apellido paterno del empleado

Pgina 13 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


4. CONSULTAS CON PREDICADO. El predicado se incluye entre la clusula y el primer nombre del campo a recuperar, los posibles predicados son los siguientes:

ALL Si no se incluye ninguno de los predicados se asume ALL. El motor de base de datos selecciona todos los registros que cumplen las condiciones de la instruccin SQL. No es conveniente abusar de este predicado ya que obligamos al motor de la base de datos a analizar la estructura de la tabla para averiguar los campos que contiene. Por ello, es mucho ms rpido indicar el listado de campos deseados. SELECT ALL * FROM EMPLEADO SELECT * FROM EMPLEADO TOP Devuelve un cierto nmero de registros que entran al principio o al final de un rango especificado por una clusula ORDER BY. Supongamos que queremos recuperar los nombres de los cinco (03) primeros recordset de la tabla EMPLEADO ordenados por apellido paterno en forma descendente: SELECT TOP 3 APE_PATER_EMP, APE_MATER_EMP, NOMBRES_EMP FROM EMPLEADO ORDER BY APE_PATER_EMP DESC Si no se incluye la clusula ORDER BY, la consulta devolver un conjunto arbitrario de cinco (03) registros de la tabla EMPLEADO. El predicado TOP no elige entre valores iguales.

TOP PERCENT Se puede utilizar la palabra reservada PERCENT para devolver un cierto porcentaje de registros que estn al principio o al final de un rango especificado por la clusula ORDER BY. Supongamos que en lugar de los cinco (05) primeros empleados, deseamos el veinte por ciento (20%) por ciento de la tabla de empleados: SELECT TOP 20 PERCENT APE_PATER_EMP, APE_MATER_EMP, NOMBRES_EMP FROM EMPLEADO ORDER BY APE_PATER_EMP DESC

Pgina 14 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


DISTINCT Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de cada campo listado en la instruccin SELECT se incluyan en la consulta deben ser nicos. SELECT DISTINCT COD_BOL FROM DETALLEBOLETA En otras palabras, el predicado DISTINCT devuelve aquellos registros cuyos campos indicados en la clusula SELECT posean un contenido diferente. El resultado de una consulta que utiliza DISTINCT no es actualizable y no refleja los cambios subsiguientes realizados por otros usuarios.

ALIAS En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un conjunto devuelto, otras veces por simple capricho o por otras circunstancias. Para resolver todas ellas tenemos la palabra reservada AS que se encarga de asignar el nombre que deseamos a la columna deseada. Tomado como referencia el ejemplo anterior podemos hacer que la columna devuelta por la consulta, en lugar de llamarse NUMFAC (igual que el campo devuelto) se llame FACTURA. En este caso, procederamos de la siguiente forma: SELECT DISTINCT COD_BOL AS BOLETA FROM DETALLEBOLETA

5. CONSULTAS CONDICIONALES Empleo de condicionales IF EXISTS, AND, y operadores lgicos >, <, =, <>, BETWEEN, IN, OR, NOT, DISTINCT, LIKE.

Sentencia que presenta los campos cdigo de producto, descripcin del producto, stock del producto cuyo stock actual sea menor o igual que 60. SELECT COD_PRO, DESCRIP_PRO, STOCK_ACT_PRO FROM PRODUCTO WHERE STOCK_ACT_PRO<= 60 El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en comparaciones de verdadero o falso para determinar si la subconsulta devuelve algn registro. Supongamos que se desea determinar los empleados que han emitido una boleta SELECT COD_EMP, NOMBRES_EMP FROM EMPLEADO WHERE EXISTS (SELECT *FROM BOLETA WHERE BOLETA.COD_EMP=EMPLEADO.COD_EMP)

Usando operadores lgicos, por ejemplo presenta todos los campos de la tabla
producto, pero con el stock actual mayor o igual a 60 y menor o igual a 80

SELECT *FROM PRODUCTO WHERE STOCK_ACT_PRO>=60 AND STOCK_ACT_PRO<=80 Pgina 15 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Si a cualquiera de las anteriores condiciones le anteponemos el operador NOT el resultado de la operacin ser el contrario al devuelto sin el operador NOT.

Para indicar que deseamos recuperar los registros segn el intervalo de valores de un campo, emplearemos el operador Between cuya sintaxis es de la siguiente manera: campo [Not] Between valor1 And valor2 (la condicin Not es opcional) En este caso la consulta devolvera los registros que contengan un "campo" con el valor incluido en el intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condicin Not devolver aquellos valores no incluidos en el intervalo. Ejemplo: Lista de productos con stock actual entre 60 y 80 SELECT *FROM PRODUCTO WHERE STOCK_ACT_PRO BETWEEN 60 AND 80 EL OPERADOR LIKE Se utiliza para comparar una expresin de cadena con un modelo en una expresin SQL. Su sintaxis es de la siguiente manera: expresin Like modelo En donde, expresin es una cadena modelo o campo contra el que se compara expresin. Se puede utilizar el operador Like para encontrar valores en los campos que coincidan con el modelo especificado. De acuerdo con el modelo empleado, se puede especificar un valor completo (Ana Cecilia) o se pueden utilizar caracteres comodn como los reconocidos por el sistema operativo para encontrar un rango de valores (Like An%). El operador Like se puede utilizar en una expresin para comparar un valor de un campo con una expresin de cadena. Por ejemplo, si introduce Like C% en una consulta SQL, la consulta devuelve todos los valores de campo que comiencen por la letra C. En una consulta con parmetros, puede hacer que el usuario escriba el modelo que se va a utilizar. El ejemplo siguiente devuelve los datos que comienzan con la letra P seguido de cualquier letra entre A y F y de tres dgitos: Like 'P[A-F]###'

Pgina 16 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Este ejemplo devuelve los campos cuyo contenido empiece con una letra de la A a la D seguidas de cualquier cadena. Like '[A-D]%' Este ejemplo devuelve todos los empleados cuyo nombre empiece con la letra F SELECT*FROM EMPLEADO WHERE NOMBRES_EMP LIKE 'F%'

EL OPERADOR IN Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los en una lista. Su sintaxis es la siguiente: expresin [Not] In(valor1, valor2, . . .) Ejemplo: SELECT COD_EMP,NOMBRES_EMP,APE_PATER_EMP FROM EMPLEADO WHERE APE_PATER_EMP IN ('FLORES','RAMIREZ','SANCHEZ')

LA CLUSULA WHERE La clusula WHERE puede usarse para determinar qu registros de las tablas enumeradas en la clusula FROM aparecern en los resultados de la instruccin SELECT. Despus de escribir esta clusula se deben especificar las condiciones expuestas en los puntos anteriores de la presente sesin. Si no se emplea esta clusula, la consulta devolver todas las filas de la tabla. WHERE es opcional, pero cuando aparece debe ir a continuacin de FROM. CONSULTAS CONDICIONALES Empleando las clasulas GROUP BY y HAVING, SUM, MIN, MAX, AVG y COUNT GROUP BY y HAVING Combina los registros con valores idnticos, en la lista de campos especificados, en un nico registro. Para cada registro, se crea un valor sumario si se incluye una funcin SQL agregada, como SUM o COUNT (como veremos despus), en la instruccin SELECT. Su sintaxis es la siguiente:

6.

SELECT CAMPOS FROM TABLA WHERE CRITERIO GROUP BY CAMPOS DEL GRUPO GROUP BY es opcional. Los valores de resumen se omiten si no existe una funcin SQL agregada en la instruccin SELECT. Los valores NULL en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores NULL no se evalan en ninguna de las funciones SQL agregadas.

Pgina 17 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Se utiliza la clusula WHERE para excluir aquellas filas que no desea agrupar, y la clusula HAVING para filtrar los registros una vez agrupados. A menos que contenga un dato Memo, un campo de la lista de campos GROUP BY puede referirse a cualquier campo de las tablas que aparecen en la clusula FROM, incluso si el campo no est incluido en la instruccin SELECT, siempre y cuando esta instruccin incluya al menos una funcin SQL agregada. Todos los campos de la lista de campos de la instruccin SELECT deben incluirse en la clusula GROUP BY o como argumentos de una funcin SQL agregada. SELECT COD_EDIF, COUNT(COD_DEP) FROM DEPARTAMENTOS GROUP BY COD_EDIF Ejemplo con la base de datos ventas: script para obtener el total de cada boleta SELECT COD_BOL, SUM(CANTIDAD*PRECIOVENTA ) AS TOTAL FROM DETALLEBOLETA GROUP BY COD_BOL Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro agrupado por la clusula GROUP BY que satisfaga las condiciones de la clusula HAVING. HAVING es similar a WHERE, determina qu registros se seleccionan. Una vez que los registros se han agrupado utilizando GROUP BY, HAVING determina cules de ellos se van a mostrar. El siguiente ejemplo lista a los edificios que poseen ms de 22 departamentos. SELECT COD_EDIF, COUNT(COD_DEP) FROM DEPARTAMENTOS GROUP BY COD_EDIF HAVING COUNT(COD_DEP) > 22 Ejemplo con la base de datos ventas: script para listar las boletas con nmero de productos por boleta mayor a 2 SELECT COD_BOL, COUNT AS (COD_BOL) TOTAL FROM AS ITEM, SUM(CANTIDAD*PRECIOVENTA) DETALLEBOLETA

GROUP BY COD_BOL HAVING COUNT( COD_BOL)>2

Pgina 18 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Ejemplo prctico: Supongamos que tenemos los siguientes datos de la tabla DEPARTAMENTOS

Supongamos adems DETALLECONTRATO

que

tenemos

los

siguientes

datos

de

la

tabla

Se solicita mostrar el nmero de contrato y el monto acumulado por cada contrato. SELECT DET.COD_CONT, MONTO=SUM(DEP.PRECIO_ALQXMES_DEP * (DATEDIFF(MM,DET.FEC_INI_ALQ,DET.FEC_FIN_ALQ))) FROM DEPARTAMENTOS DEP, DETALLECONTRATO DET WHERE DEP.COD_EDIF=DET.COD_EDIF. AND DEP.COD_DEP=DET.COD_DEP GROUP BY DET.COD_CONT Pgina 19 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Haciendo uso de la clusula HAVING se filtran los datos agrupados obtenidos y se muestra solamente los que tengan un MONTO ACUMULADO mayor de 1,000 soles. La solucin sera la siguiente: SELECT DET.COD_CONT, MONTO=SUM(DEP.PRECIO_ALQXMES_DEP * DATEDIFF ( MM,DET.FEC_INI_ALQ,DET.FEC_FIN_ALQ ) ) FROM DEPARTAMENTOS DEP, DETALLECONTRATO DET WHERE DEP.COD_EDIF.=DET.COD_EDIF. AND DEP.COD_DEP=DET.COD_DEP GROUP BY DET.COD_CONT HAVING SUM(DEP.PRECIO_ALQXMES_DEP * DATEDIFF(MM,DET.FEC_INI_ALQ,DET.FEC_FIN_ALQ)) > 1000 SUM Devuelve la suma del conjunto de valores contenido en un campo especfico de una consulta. Su sintaxis es: SELECT SUM (EXPR) FROM TABLA En donde EXPR debe ser un valor numrico y representa el nombre del campo que contiene los datos que desean sumarse o una expresin que realiza un clculo utilizando los datos de dichos campos. Los operandos de EXPR pueden incluir el nombre de un campo de una tabla, una constante o una funcin (la cual puede ser intrnseca o definida por el usuario pero no otras de las funciones agregadas de SQL). Mostrar el total de rea construida por cdigo de edificio. SELECT COD_EDIF, SUM(AREA_CONSTRUIDA_DEP) AS AREATOTALCONSTRUIDA FROM DEPARTAMENTOS GROUP BY COD_EDIF AVG Calcula la media aritmtica de un conjunto de valores CONTENIDO en un campo especificado de una consulta. Su sintaxis es la siguiente: SELECT AVG(EXPR) FROM TABLA En donde EXPR representa el campo que contiene los datos numricos para los que se desea calcular la media o una expresin que realiza un clculo utilizando los datos de dicho campo. La media calculada por AVG es la media aritmtica (la Pgina 20 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


suma de los valores dividido por el nmero de valores). La funcin AVG no incluye ningn campo NULL en el clculo. Ejemplos: Calcular el stock actual promedio de los productos. SELECT AVG(STOCK_ACT_PRO) AS [STOCK ACTUAL PROMEDIO] FROM PRODUCTO Calcular la edad promedio de los usuarios. SELECT AVG(DATEDIFF(YY,FEC_NAC_USUA,GETDATE())) AS EDADPROMEDIO FROM USUARIO MIN, MAX Devuelven el mnimo o el mximo de un conjunto de valores CONTENIDO en un campo especifico de una consulta. Su sintaxis es la siguiente: SELECT MIN(EXPR) FROM TABLA --SELECT MAX(EXPR) FROM TABLA --SELECT MIN(EXPR) , MAX(EXPR) FROM TABLA En donde EXPR es el campo sobre el que se desea realizar el clculo. EXPR puede incluir el nombre de un campo de una tabla, una constante o una funcin (la cual puede ser intrnseca o definida por el usuario pero no otras de las funciones agregadas de SQL). Ejemplos: Calcular el haber mnimo y el haber mximo de los inquilinos. SELECT MIN (HABER_BAS_INQ) AS ELMINIMOHABER FROM INQUILINO ---SELECT MAX (HABER_BAS_INQ) AS ELMAXIMOHABER FROM INQUILINO --SELECT MIN (HABER_BAS_INQ) AS ELMINIMOHABER , MAX (HABER_BAS_INQ) AS ELMAXIMOHABER FROM INQUILINO

Pgina 21 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


COUNT Calcula el nmero de registros devueltos por una consulta. Su sintaxis es la siguiente: SELECT COUNT(EXPR) FROM TABLA En donde EXPR contiene el nombre del campo que desea contar. Los operandos de EXPR pueden incluir el nombre de un campo de una tabla, una constante o una funcin (la cual puede ser intrnseca o definida por el usuario pero no otras de las funciones agregadas de SQL). Puede contar cualquier tipo de datos, incluso texto. Aunque EXPR puede realizar un clculo sobre un campo, COUNT simplemente cuenta el nmero de registros sin tener en cuenta qu valores se almacenan en los registros. La funcin COUNT no cuenta los registros que tienen campos NULL a menos que EXPR sea el carcter comodn asterisco (*). Si utiliza un asterisco, COUNT calcula el nmero total de registros, incluyendo aquellos que contienen campos NULL. COUNT(*) es considerablemente ms rpido que COUNT(Campo). No se debe poner el asterisco entre dobles comillas ('*'). Mostrar la cantidad de usuarios registrados. SELECT COUNT(*) AS TOTAL FROM USUARIO

Pgina 22 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Esquema de base de datos ESTUDIO para desarrollar las consultas propuestas:

Crear base de datos USE MASTER GO If exists(select * from sysdatabases where name = 'ESTUDIO') Begin DROP DATABASE ESTUDIO End CREATE DATABASE ESTUDIO GO

Pgina 23 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


USE ESTUDIO GO CREATE TABLE TA_PERIODO( IN_PERIODO INTEGER NOT NULL, PRIMARY KEY(IN_PERIODO) ) CREATE TABLE TA_ASIGNATURA( IN_ASIGNATURA INTEGER NOT NULL, VC_NOMBRE VARCHAR(100), PRIMARY KEY(IN_ASIGNATURA) ) GO CREATE TABLE TA_ASIGNATURA_PERIODO( IN_PERIODO INTEGER NOT NULL REFERENCES TA_PERIODO, IN_ASIGNATURA INTEGER NOT NULL REFERENCES TA_ASIGNATURA, IN_CAPACIDAD INTEGER, DT_FECHAINICIO DATETIME, DT_FECHAFIN DATETIME, PRIMARY KEY (IN_PERIODO, IN_ASIGNATURA) ) CREATE TABLE TA_ALUMNO( IN_ALUMNO INTEGER NOT NULL, VC_NOMBRE VARCHAR(100), VC_PATERNO VARCHAR(100), VC_MATERNO VARCHAR(100), CH_ESTADOCIVIL CHAR(1), DT_FECHANACIMIENTO DATETIME, VC_DNI VARCHAR(8), VC_EMAIL VARCHAR(100), PRIMARY KEY(IN_ALUMNO) ) GO CREATE TABLE TA_ALUMNO_ASIGNATURA( IN_PERIODO INTEGER NOT NULL, IN_ASIGNATURA INTEGER NOT NULL, IN_ALUMNO INTEGER NOT NULL REFERENCES TA_ALUMNO, FL_NOTA FLOAT, PRIMARY KEY (IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO) ) GO CREATE TABLE TA_BOLETA_PAGO( IN_BOLETA INTEGER NOT NULL, Pgina 24 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_PERIODO INTEGER NOT NULL REFERENCES TA_PERIODO, IN_ALUMNO INTEGER NOT NULL REFERENCES TA_ALUMNO, FL_MONTO FLOAT, PRIMARY KEY (IN_BOLETA)

) GO CREATE TABLE TA_ASIGNATURA_TUTORIA( IN_PERIODO INTEGER NOT NULL, IN_ASIGNATURA INTEGER NOT NULL, IN_SECUENCIAL INTEGER NOT NULL, DT_FECHA DATETIME, PRIMARY KEY(IN_PERIODO ,IN_ASIGNATURA,IN_SECUENCIAL )

) GO ALTER TABLE TA_ALUMNO_ASIGNATURA ADD FOREIGN KEY (IN_PERIODO,IN_ASIGNATURA) REFERENCES TA_ASIGNATURA_PERIODO GO ALTER TABLE TA_ASIGNATURA_TUTORIA ADD FOREIGN KEY (IN_PERIODO,IN_ASIGNATURA) REFERENCES TA_ASIGNATURA_PERIODO Cargar datos USE ESTUDIO GO set dateformat dmy GO DELETE FROM TA_BOLETA_PAGO DELETE FROM TA_ALUMNO_ASIGNATURA DELETE FROM TA_ASIGNATURA_TUTORIA DELETE FROM TA_ASIGNATURA_PERIODO DELETE FROM TA_ALUMNO DELETE FROM TA_ASIGNATURA DELETE FROM TA_PERIODO /* TABLA : PERIODO */ INSERT INTO TA_PERIODO( IN_PERIODO ) VALUES(200301) INSERT INTO TA_PERIODO( IN_PERIODO ) Pgina 25 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VALUES(200302) INSERT INTO TA_PERIODO( IN_PERIODO ) VALUES(200401) INSERT INTO TA_PERIODO( IN_PERIODO ) VALUES(200402) INSERT INTO TA_PERIODO( IN_PERIODO ) VALUES(200501) /* TABLA : ALUMNO */ INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (1,'LUIS','PAREDES','VILLALOBOS','S','03/08/1977','10625307','lparedes@yah oo.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES(2,'JAIME','NICOLL','VILLAVICENCIO','S','25/11/1977','10625801','jnicoll@yah oo.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, Pgina 26 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL )VALUES (3,'ERICK','PEREZ','VALDIVIA','C','15/12/1978','10885801','eperez@hotmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (4,'JUAN','SORIA','ALVARADO','S','25/09/1975','10995771','jsoria@hotmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (5,'ERICK','SILVA','PAJUELO','S','16/08/1979','10775881','esilva@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (6,'CARLOS','VERA','POMEZ','C','05/05/1978','03879632','cvera@gmail.com')

Pgina 27 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES(7,'DANIEL','CARDENAS','SILVA','C','03/09/1978','03899932','dcardenas@ya hoo.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES(8,'DANIEL','CONTRERAS','BENDEZU','C','15/09/1978','03811132','acontrera s@hotmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES(9,'GINO','GORDILLO','CASTRO','C','16/09/1978','03817777','ggordillo@hotm ail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL )

Pgina 28 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VALUES(10,'JEAN','FERRARI','JOSEPH','S','12/09/1977','12347777','jferrari@hotmail. com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (11,'CARLOS','VERA','SALAZAR','S','06/01/1980','05559632','cveras@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES(12,'GINO','GORDILLO','PIMENTEL','S','12/10/1980','03816666','ggordillop@h otmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES(13,'DANIEL','SOTOMAYOR','PORTACARRERO','C','15/11/1980','01211132',' asotomayor@hotmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, Pgina 29 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL

) VALUES (14,'CARLOS','ESPINOZA','MONTES','S','05/12/1975','36559632','cespinoza@gmail.c om') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (15,'ARMANDO','MEJIA','SOTO','S','05/12/1982','4569823','amejia@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (16,'CELESTINO','ROBLES','PEREZ','S','05/12/1985','4569823','crobles@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (17,'WALTER','VILCHEZ','PERALES','C','05/12/1980','3216549','wvilchez@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, Pgina 30 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL

) VALUES (18,'JAVIER','SANTISTEBAN','MORALES','C','05/12/1982','45698712','jsantisteban@g mail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (19,'JOSE','YAURI','ROBLES','C','05/12/1981','56982135','jyauri@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (20,'JORGE','BUENO','GARAY','S','04/10/1982','32569874','jbueno@gmail.com') /* TABLA : ASIGNATURA */ INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(1,'ANLISIS MATEMATICO 1') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, Pgina 31 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VC_NOMBRE ) VALUES (2,'ANLISIS MATEMATICO 2') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(3,'FSICA GENERAL 1') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(4,'FSICA GENERAL 2') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(5,'BASE DE DATOS') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(6,'LENGUAJE PROGRAMACIN 1') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(7,'SISTEMAS EXPERTOS') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(8,'GESTIN DE PROYECTOS') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(9,'FUNDAMENTOS DE ELECTRNICA') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, Pgina 32 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VC_NOMBRE ) VALUES(10,'CONTABILIDAD') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(11,'SISTEMAS OPERATIVOS') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(12,'ANLISIS Y SISTEMAS') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(13,'PROGRAMACIN ORIENTADA A OBJETOS') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(14,'DISEO WEB') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(15,'FILOSOFA') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(16,'LENGUA') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(17,'HISTORIA') /* TABLA : ASIGNATURA X PERIODO */ INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, Pgina 33 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN

) VALUES(200301,1,45,'08/08/2003','12/12/2003') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200302,1,45,'08/08/2003','12/12/2003') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200302,2,60,'08/08/2003','12/12/2003') -- Periodo 200401 INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,1,45,'05/04/2004','15/09/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,2,60,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, Pgina 34 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN

) VALUES(200401,3,50,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,4,70,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,5,40,'03/04/2004','10/07/2004') -- Periodo 200402 INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,1,50,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,2,40,'08/08/2004','05/12/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN Pgina 35 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


) VALUES(200402,3,65,'08/08/2004','05/12/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,4,40,'08/08/2004','05/12/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,5,45,'08/08/2004','05/12/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,8,45,'08/08/2004','05/12/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,11,45,'08/08/2004','05/12/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,12,55,'08/08/2004','05/12/2004') -- Periodo 200501 Pgina 36 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,1,50,'18/04/2005','10/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,2,40,'20/04/2005','15/07/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,3,65,'22/04/2005','22/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,4,40,'19/04/2005','30/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,5,45,'20/04/2005','20/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, Pgina 37 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


DT_FECHAINICIO, DT_FECHAFIN

) VALUES(200501,8,45,'17/04/2005','19/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,11,45,'20/04/2005','19/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,12,55,'23/04/2005','20/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,13,45,'18/04/2005','20/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,16,50,'19/04/2005','15/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN Pgina 38 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


) VALUES(200501,17,50,'14/04/2005','16/08/2005') /* TABLA : TA_ASIGNATURA_TUTORIA */ INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200401,1,1,'15/05/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200401,1,2,'18/05/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200401,1,3,'10/06/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200401,2,1,'16/05/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200401,2,2,'20/05/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA Pgina 39 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


) VALUES (200401,3,1,'17/05/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200401,3,2,'20/05/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200401,3,3,'10/06/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,1,1,'18/10/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,1,2,'12/11/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,1,3,'15/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) Pgina 40 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VALUES (200402,1,4,'06/01/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,2,1,'15/11/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,2,2,'18/11/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,2,3,'12/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,3,1,'11/11/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,3,2,'17/11/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,3,3,'20/12/2004') Pgina 41 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,3,4,'15/01/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,4,1,'17/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,4,2,'19/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,4,3,'20/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,5,1,'16/11/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,5,2,'20/12/2004')

Pgina 42 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,5,3,'12/01/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,5,4,'18/01/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,1,1,'13/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,1,2,'26/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,2,1,'02/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,2,2,'16/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( Pgina 43 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA

) VALUES (200501,3,1,'02/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,3,2,'03/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,3,3,'03/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,4,1,'15/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,4,2,'20/06/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,16,1,'10/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, Pgina 44 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_SECUENCIAL, DT_FECHA

) VALUES (200501,16,2,'18/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,16,3,'20/06/2005') /* TABLA : TA_ALUMNO_ASIGNATURA */ INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,1,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,2,1,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,3,1,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,2,10) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, Pgina 45 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_ALUMNO, FL_NOTA

) VALUES(200402,2,2,13) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,3,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,5,3,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,3,4,18) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,4,4,17) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,4,5,17) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA Pgina 46 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


) VALUES(200402,2,8,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,3,11,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200401,1,1,08) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200401,2,5,09) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200401,2,8,09) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200401,3,11,07) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200401,1,2,09) Pgina 47 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200401,2,2,08) -- Repitentes INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,15,07) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,5,15,08) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,11,16,09) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,12,17,10) -- Periodo 200501 INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) Pgina 48 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VALUES(200501,1,15,09) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,3,15,13) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,5,15,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,12,15,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,11,16,10) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,12,16,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,16,16,11)

Pgina 49 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,17,16,17) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,3,17,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,8,17,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,12,17,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,13,17,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,17,17,08) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, Pgina 50 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_ASIGNATURA, IN_ALUMNO, FL_NOTA

) VALUES(200501,5,18,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,11,18,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,16,18,17) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,17,18,19) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,2,19,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,3,19,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, Pgina 51 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


FL_NOTA ) VALUES(200501,8,19,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,13,19,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,16,19,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,3,20,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,8,20,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,11,20,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) Pgina 52 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


VALUES(200501,13,20,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,16,20,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,17,20,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,13,1,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,16,1,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,17,1,18) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,12,1,14)

Pgina 53 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


/* TABLA : BOLETA PAGO */ INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040211,200402,1,300) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040212,200402,1,300) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040213,200402,1,300) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040221,200402,2,400) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040222,200402,2,400) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040223,200402,2,400) INSERT INTO TA_BOLETA_PAGO( Pgina 54 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO

) VALUES (20040231,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040232,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040233,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040234,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040241,200402,4,700) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040251,200402,5,600) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, Pgina 55 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_ALUMNO, FL_MONTO

) VALUES (20040261,200402,6,550) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040262,200402,6,550) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040263,200402,6,550) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040111,200401,1,600) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040121,200401,2,700) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040131,200401,3,600) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO Pgina 56 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


) VALUES (20040141,200401,4,500) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040151,200401,5,400) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040161,200401,6,300) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501151,200501,15,400) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501152,200501,15,400) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501153,200501,15,400) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501161,200501,16,500) Pgina 57 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501162,200501,16,500) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501163,200501,16,500) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501171,200501,17,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501172,200501,17,530) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501173,200501,17,490) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501181,200501,18,430) INSERT INTO TA_BOLETA_PAGO( Pgina 58 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO

) VALUES (200501182,200501,18,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501183,200501,18,540) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501191,200501,19,420) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501192,200501,19,450) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501193,200501,19,500) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501201,200501,20,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, Pgina 59 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


IN_ALUMNO, FL_MONTO

) VALUES (200501202,200501,20,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501203,200501,20,480)

Pgina 60 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Crear las siguientes consultas: Operadores Lgicos 1. Mostrar todos los alumnos que hayan nacido en el mes de Agosto o Septiembre. 2. Mostrar todos los alumnos que hayan nacido en el ao 1978 y en el mes Septiembre o que sean solteros La consulta solo debe mostrar los siguientes datos: Cdigo del alumno, Nombre, apellido paterno, apellido materno, Estado Civil y fecha de Nacimiento. As mismo la informacin debe ser ordenada por nombre en forma ascendente y ante coincidencia por fecha de nacimiento en forma descendente. Operador between 3. Mostrar el cdigo y nombre de la asignatura as como el cdigo del periodo, fecha inicio, fecha fin de todos los cursos cuya capacidad se encuentre entre 45 y 50 vacantes para el periodo 200401. 4. Mostrar cdigo, nombre, apellido paterno, apellido materno y nota de todos aquellos registros cuyas notas no se encuentren entre 12 y 16 para el periodo 200401. 5. Mostrar el cdigo, nombre completo y fecha nacimiento del alumno as como cdigo de la asignatura, fecha inicio, fecha fin, cdigo del periodo y nombre de la asignatura para aquellas personas que hayan nacido entre los aos 1977 y 1978. Like 6. Mostrar el cdigo y nombre de la asignatura, cdigo del periodo. Fecha inicio y capacidad del curso de aquellas asignaturas que han sido dictadas en el periodo 200402, que a su vez el nombre de la asignatura deba contener la palabra SI. Operador In 7. Mostrar el cdigo y nombre de la asignatura, cdigo del periodo. Fecha inicio y capacidad del curso de aquellas asignaturas cuyos cdigos sean 1,2 3 y que adems sean del periodo 200401. 8. Mostrar el cdigo, nombre, apellido paterno, apellido materno, cdigo de la asignatura y nota de aquellos alumnos cuyos cdigos sean 1,2,3,4 5 y a que adems sean del periodo 200401.

Pgina 61 de 62

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS


Operador Numrico 9. Mostrar el cdigo, nombre, apellido paterno, apellido materno y el Importe de la boleta de pago para el periodo 200402. El Importe se calcula sumando el monto con su respectivo IGV (19%). As mismo slo se mostrarn aquellos registros cuyo importe sea mayor a 700 soles. 10. Mostrar el cdigo, nombre, apellido paterno, apellido materno, cdigo de la asignatura, nota y bonificacin. La bonificacin es igual al 25% de la nota. As mismo slo se mostrarn aquellos registros cuya bonificacin sea mayor o igual a 3. Distinct 11. Mostrar Todos los Nombres de los Alumnos. La informacin no debe incluir repetidos. 12. Mostrar el cdigo y nombre de las asignaturas que han sido dictadas hasta la fecha. Exists 13. Mostrar todos los alumnos siempre y cuando exista algn alumno que empiece su nombre con la letra J 14. Mostrar todas las asignaturas del periodo siempre y cuando exista algn alumno cuya nota sea mayor a quince durante el periodo 200402. Otros Operadores con LIKE 15. Mostrar a Todos los Alumnos cuyos apellidos paternos empiecen con la letra S. 16. Mostrar a Todos los Alumnos cuyos apellidos paternos finalicen con la letra A. 17. Mostrar todos los Alumnos que tienen correo en @yahoo 18. Mostrar Todos los Cursos que contienen la palabra MATEMATICO 19. Mostrar Todos los Alumnos que su Nombre sea slo de 4 letras. 20. Mostrar Todos los Alumnos que su Nombre sea slo de 4 letras., pero la primera letra debe empezar en L o J 21. Mostrar Todos los Alumnos que su Nombre sea slo de 4 letras, pero la primera letra no debe empezar ni en L y G

Pgina 62 de 62

También podría gustarte