Está en la página 1de 22

1

SENTENCIAS Y CONSULTAS EN SQL SERVER



En esta seccin nos preocuparemos por conocer, las consultas en SQL que
describiremos aqu. Para eso haremos un pequeo de las palabras claves
que se utilizan en SQL, tales como son TABLAS, CAMPOS, FILAS, esto se
muestra en la siguiente imagen:

TABLA: es el conjunto ordenado de campos (columnas) y filas.
Campo 1 Campo 2 Campo 3 Campo 4
Fila 1
Fila 2
Fila 3

Las palabras claves SQL enlistadas en la figura adjunta, se describen
en las siguientes subsecciones, cabe mencionar que esta edicin es solo un
trabajo de introduccin bsica, es por esta razn que el contexto de
consultas SQL completas, escapa de esta edicin.

Palabra Clave SQL Descripcin
SELECT
FROM

WHERE

GROUP BY
ORDER BY
INSERT
UPDATE
DELETE
Recupera datos de una o ms tablas.
Las tablas involucradas en la consulta. Se
requiere para cada SELECT.
Los Criterios de seleccin que determinan cuales
filas se van a recuperar, eliminar o actualizar.
Criterio para agrupar filas.
Criterio para ordenar filas.
Insertar filas en una tabla especificada.
Actualizar filas en una tabla especifica.
Eliminar filas de una tabla especifica.









Observacin: Por lo general se acostumbra a escribir estas palabras claves en
maysculas, tratando de diferenciarlos con los argumentos de una tabla.

SELECT <campos> FROM <tablas> WHERE <condicion> GROUP BY <campos>

La estructura presentada, es la que se utiliza SQL posee de una jerarqua entre sus
palabras claves, y una manera general la presentamos para conocimiento del lector.
2
Para efectos de ejemplos en esta oportunidad haremos uso de la siguiente
Base de Datos, BDNOTAS, en el cual esta contenida las siguientes tablas y
columnas:

ALUMNO
IDALUMNO : Cdigo de alumno
APEALUMNO : Apellido del Alumno
NOMALUMNO : Nombre del Alumno
IDESP : Cdigo de especialidad
PROCE : Procedencia

CURSO
IDCURSO : Cdigo del curso.
NOMCURSO : Nombre del curso.
CREDITO : Crditos del curso.

ESPECIALIDAD
IDESP : Cdigo de especialidad
NOMESP : Nombre de la especialidad.
COSTO : Costo de la especialidad.

NOTAS
IDALUMNO : Cdigo de alumno
IDCURSO : Cdigo del curso.
EXAPARCIAL : Examen Parcial.
EXAFINAL : Examen final

PAGOS
IDALUMNO : Cdigo de alumno
CICLO : Ciclo
NCUOTA : Numero de cuota.
MONTO : monto a pagar
FECHA : fecha del pago

IDALUMNO
IDESP
IDCURSO
3
CONSULTA BSICA SELECT.- lo que hace una consulta SELECT,
es obtener datos de una Tabla determinada, en las que se especifican filas y
columnas. La sintaxis bsica de una consulta SELECT es:

SELECT * FROM nombreDeTabla

En la consulta anterior, el asterisco (*) indica que deben recuperarse
todas las columnas de la tabla nombreDeTabla. Por ejemplo, deseamos
recuperar todos los datos de la tabla Alumno, la sintaxis seria la siguiente:

SELECT * FROM Alumno

Ahora para recuperar solo ciertas columnas de una tabla, debemos de
reemplazar el asterisco (*), por los nombres de las columnas, separando
cada columna con una coma. Por ejemplo, para recuperar solamente las
columnas IdAlumno, ApeAlumno, NomAlumno, para todas las filas de la
tabla Alumno. Utilizamos la siguiente consulta:

SELECT IdAlumno, ApeAlumno, NomAlumno FROM Alumno

El resultado de esta consulta se aprecia en la siguiente figura, donde
apreciamos las columnas campos que seleccionamos en el ejemplo,
listado desde la fila 1 hasta la 7:











Observacin.

Se debe evitar utilizar el asterisco (*), si se desea filtrar solo campos
necesarios.

Al especificar los nombres de columnas que se van a seleccionar, se
garantiza que las columnas se devuelvan, siempre en el orden
especificado y tambin se evita que se devuelven columnas
innecesarias, incluso si cambia el orden real.
4
LA CLUSULA WHERE.- en la mayora de casos es necesario
localizar, en una base de datos, filas que cumplan con ciertos criterios de
seleccin. SQL utiliza la clusula WHERE en una consulta SELECT para
especificar los criterios de seleccin para la consulta. La forma bsica de
una consulta SELECT con criterios condicin de seleccin es:

SELECT nombreDeColumnas FROM nombreDeTabla WHERE criterios

Por ejemplo, para seleccionar las columnas IdAlumno, monto de la tabla
Pagos, para las cuales el monto sea mayor que 340, utilizamos la siguiente
consulta:

SELECT IdAlumno, Monto FROM Pagos WHERE monto>340

Los criterios de la clusula WHERE pueden contener lo siguientes
operadores de comparacin: =, >, <, >=, <=, !=, <>, IN, NOT IN,
BETWEEN, NOT BETWEEN, LIKE. Adems, se puede construir condiciones
mltiples usando los operadores lgicos AND, OR y NOT. Se puede utilizar
parntesis si se desea forzar algn orden de evaluacin.

El operador LIKE, se utiliza para hacer comparaciones de cadenas,
relacionando patrones con los caracteres comodines porcentaje (%) y guin
abajo (_). El relacionar patrones permite a SQL buscar cadenas que
concuerden con un patrn dado.

Un patrn que contenga un carcter de porcentaje (%) busca
cadenas que tengan cero o ms caracteres en la posicin del carcter
porcentaje en el patrn. Debemos de tener presente que en SQL un
carcter y cadena van dentro de apostrofes char. Por ejemplo deseamos,
realizar la consulta que me permita conocer a todos los alumnos cuyo
nombre empiece con la letra A:

SELECT NomAlumno FROM Alumno WHERE NomAlumno LIKE 'A%'

El resultado de la siguiente consulta seria:


5
Haremos un ejemplo ms, se necesita filtrar a los alumnos cuyo
nombre, apellido empiece con A y Q, respectivamente:

SELECT NomAlumno, ApeAlumno FROM Alumno
WHERE ((NomAlumno LIKE 'A%') AND (ApeAlumno LIKE 'Q%'))

El resultado de la siguiente consulta seria:



El signo de % y el operador LIKE de la clusula WHERE indican que
puede aparecer cualquier nmero de carcter despus de la letra A y Q en
las columnas NomAlumno, ApeAlumno, respectivamente.

Cabe observar que la cadena del operador esta encerrada entre
caracteres de comillas sencillas apostrofes. As mismo en el ejemplo
anterior se utilizo el operador AND, para realizar la comparacin lgica de
nombre y apellido, hemos utilizado los parntesis para darle un orden
especfico a nuestra condicin.









Un guin bajo (_) en la cadena del patrn indica un carcter comodn
individual en esa posicin, por ejemplo, la siguiente consulta localiza las
filas de todos los alumnos cuyo apellido paterno empiece con cualquier
carcter (lo que se especifica con _), seguido por la letra i, seguida por
cualquier numero de caracteres adicionales (lo que se especifica con %):

SELECT ApeAlumno FROM Alumno WHERE ApeAlumno LIKE '_i%'

El resultado de la consulta seria:

Recuerda: hemos utilizado la palabra LIKE para comparar cadenas, en
esta oportunidad presentamos ejemplos en los cuales deseamos que
estas cadenas empiecen con una letra determinada. En el caso de que
una letra termine en una determinada letra, la sintaxis del uso del LIKE
seria similar a esta:

SELECT <Columnas> FROM <Tablas> WHERE Columna1 LIKE '%A'
6
LA CLUSULA ORDER BY.- El resultado de una consulta puede
ordenarse en forma ascendente o descendente, mediante el uso de la
clusula ODER BY opcional. La forma bsica de una instruccin SELECT con
una clusula ORDER BY es:

SELECT nombreDeColumnas FROM Tablas ORDER BY columna1 ASC
SELECT nombreDeColumnas FROM Tablas ORDER BY columna1 DESC

En donde ASC especifica el orden ascendente (de menor a mayor),
DESC especifica el orden descendente (de mayor a menor) y columna1
especifica la columna en la cual se basa el ordenamiento. Por ejemplo, para
obtener la lista de cursos en orden ascendente por nombre de curso, utilice
la siguiente sintaxis:

SELECT nomcurso FROM Curso ORDER BY nomcurso ASC

El resultado seria:


Observe que el orden predeterminado es ascendente (pruebe la sintaxis
anterior sin la palabra ASC) , por lo que ASC es opcional. Para obtener la
misma lista de cursos en orden descendente por nombre de curso, utilice la
siguiente sintaxis:

SELECT nomcurso FROM Curso ORDER BY nomcurso DESC

El resultado seria:

7
Otro uso que se le atribuye a esta clusula ORDER BY es el de poder
ordenar por una columna especifica, cuando se posee varias columnas
seleccionadas. Por ejemplo deseamos obtener los campos IdAlumno,
ApeAlumno, NomAlumno el cual deben de estar ordenados por apellidos,
utilice la siguiente sintaxis:

SELECT IdAlumno, ApeAlumno, NomAlumno FROM Alumno ORDER BY 2

El resultado se esta sintaxis seria:


Observemos que despus de la clusula ORDER BY, hemos colocado el
numero 2, esto quiere decir que se ordenar por la columna numero 2 y de
la sintaxis anterior la columna 2 seria Apealumno. Es por eso que el
Apellido esta ordenado de forma como se mostr. Tambin en vez de
colocar el numero 2 se puede poner el nombre del campo especifico al cual
se desea ordenar tal como se vio en la pagina anterior.

PRESENTACIN DE LOS n PRIMERO VALORES.- para
hacer la presentacin de los n primero valores, utilizamos la palabra clave
TOP para presentar slo las n primeras filas o el n por ciento de un
conjunto de resultados. Aunque la palabra clave TOP n no es un estndar
ANSI, resulta til, por ejemplo, para presentar los productos ms vendidos
de una compaa.

Cuando utilice la palabra clave TOP n o TOP n PERCENT, considere los
hechos e instrucciones siguientes:

Especifique el intervalo de valores en la clusula ORDER BY. Si no
utiliza una clusula ORDER BY, Microsoft SQL Server 2000
devuelve las filas que cumplen la clusula WHERE sin ningn orden
concreto.

8
Utilice un entero sin signo a continuacin de la palabra clave TOP.

Si la palabra clave TOP n PERCENT produce un nmero no entero de
filas, SQL Server redondea la cantidad no entera al siguiente valor
entero.

Por ejemplo se desea conocer cuales son las 5 primeras especialidades de la
tabla Especialidad, utilice la siguiente sintaxis:

SELECT TOP 5 idesp, nomesp FROM Especialidad

El resultado seria:



USO DE FUNCIONES DE AGREGADO.- Las funciones que
calculan promedios y sumas se llaman funciones de agregado. Cuando se
ejecuta una funcin de agregado, SQL Server resume los valores de toda
una tabla o de grupos de columnas de una tabla, y produce un valor por
cada conjunto de filas para las columnas especificadas:

Funciones de
agregado
Descripcin
AVG Promedio de valores en una expresin numrica
COUNT Nmeros de valores en una expresin
COUNT(*) Numero de filas seleccionadas
MAX Valor mas alto en la expresin
MIN Valor mas bajo en la expresin
SUM Valores totales en una expresin numrica

Las funciones de agregado se pueden utilizar en la instruccin
SELECT o en combinacin con la clusula GROUP BY.

9
Con la excepcin de la funcin COUNT(*), todas las funciones de
agregado devuelven NULL si ninguna fila cumple la clusula WHERE.
La funcin COUNT(*) devuelve el valor cero si ninguna fila cumple la
clusula WHERE.

Funcin Tipo de datos

COUNT COUNT es la nica funcin de agregado que se
puede utilizar en las columnas de los tipos de datos
text, ntext o image.
MIN y
MAX
En las columnas de los tipos de datos bit no se
pueden utilizar las funciones MIN y MAX.
SUM y
AVG
Las funciones de agregado SUM y AVG solo se
pueden utilizar en las columnas con tipos de datos
int, smallint, tinyint, dcimal, numeric, flota,
real, nomey, y samallmoney.

Cuando se utiliza la funcin SUM o AVG, SQL
Server trata los tipos de datos smallint o tinyint
como un valor de tipo de datos int en el conjunto de
resultados.

Por ejemplo deseamos conocer el promedio de los exmenes finales de
todos los cursos, utilice la siguiente sintaxis:

SELECT AVG(exafinal)AS Promedio FROM notas

Observemos la palabra AS Promedio, esto se utiliza solo para asignarle un
nombre a la Columna, veremos en la imagen siguiente que esta palabra
aparece como titulo principal del resultado:



Veamos que ocurre si le quitamos la palabra AS Promedio, de la
sintaxis anterior, entonces nuestra nueva sintaxis seria:

SELECT AVG(exafinal) FROM notas

10
Observemos ahora el resultado final sigue siendo el mismo, mas no el
de el nombre de la columna, ya que la palabra AS ___ sirvi para colocarle
un nombre a la columna.



Como segundo ejemplo, se solicita saber cuantos montos existen en la
tabla Pagos, esto se hace con la siguiente sintaxis:

SELECT COUNT(monto) AS [NUMEROS DE MONTO] FROM Pagos

El resultado seria:

Ahora observemos la palabra AS [NUMEROS DE MONTO], por lo dicho
en lo anterior sabemos que es un nombre de columna, ahora en particular
vemos que esta palabra [NUMEROS DE MONTO] se encuentra entre
corchetes [ ], esto lo hago por que mi titulo de columna posee espacios en
blanco, si no ponemos estos corchetes SQL nos enviara un mensaje de
error.

Ahora que pasa si se deseara seleccionar campos y funciones de agregado
dentro del SELECT, de una tabla especifica, SQL nos pedir que agrupemos
estos parmetros; es por eso que necesitamos saber el tema de la Clusula
GROUP BY, que se presenta a continuacin.

LA CLUSULA GROUP BY.- Utilice la clusula GROUP BY en
columnas o expresiones para organizar filas en grupos y para resumir
dichos grupos. Por ejemplo, utilice la clusula GROUP BY para determinar la
cantidad de cada producto pedida en todos los pedidos.

Cuando utilice la clusula GROUP BY, considere los hechos e instrucciones
siguientes:


SQL Server produce una columna de valores por cada grupo definido.

SQL Server slo devuelve filas por cada grupo especificado; no
devuelve informacin de detalle.
11

Todas las columnas que se especifican en la clusula GROUP BY
tienen que estar incluidas en la lista de seleccin.

Si incluye una clusula WHERE, SQL Server slo agrupa las filas que
cumplen las condiciones de la clusula WHERE.

No utilice la clusula GROUP BY en columnas que contengan varios
valores nulos, porque los valores nulos se procesan como otro grupo.

Utilice la palabra clave ALL con la clusula GROUP BY para presentar
todas las filas que tengan valores nulos en las columnas de agregado,
independientemente de si las filas cumplen la condicin de la clusula
WHERE.

Por ejemplo deseamos conocer, cuales son las nota Mxima del Examen
Parcial y la nota Minima del Examen Final por cada curso. Utilizamos la
siguiente sintaxis:

SELECT Idcurso, MAX(exaparcial)AS [Nota Maxima EXP],
MIN(exafinal)AS [Nota Minima EXF] FROM Notas GROUP BY idcurso
El resultado seria:


CONSULTAS CON MS DE UNA TABLA.- En La pgina 2 de
este documento, present la estructura de la base de datos que estamos
utilizando para cada ejemplo, en donde podemos ver las relaciones
existenciales con cada una de las tablas.

Para realizar consultas con mas de una tabla es necesario precisar como
ests tablas se relacionan, por ejemplo, la tablas Curso y Notas se
relaciona por el Idcurso, otro ejemplo las tablas Alumno, Curso y Notas,
se relacionan por el IdAlumno y por el Idcurso, generalizando estas
12
proposiciones llegamos a la conclusin de que para un numero n de
tablas existe n-1 relaciones.

Es necesario trabajar con Alias, cuando se emplean mltiples tablas,
para evitar ambigedades, es decir ponerle una identificacin a la tabla,
para que en los campos en los cuales se generan la unin con otras tablas,
SQL reconozca a que tabla pertenece el campo.

Por ejemplo, queremos seleccionar los siguientes campos: Idalumno,
Apealumno, Idesp, nomesp de las tablas Alumno y Especialidad.

Lo primero que se nos ocurrira es esto:

SELECT Idalumno, Apealumno, Idesp, nomesp FROM Alumno, Especialidad

Al ejecutar esta aplicacin SQL nos responder que Idesp es ambiguo, tal
como se muestra:

Esto aparece por que en realidad SQL no sabe de que tabla jalar este
campo Idesp ya que est aparece en dos tablas que son Alumno,
Especialidad, entonces necesitamos indicarle a SQL, a quien pertenece
este campo.
Es por esa razn que haremos uso de los Alias (identificadores), el
uso de estos alias es como sigue:

SELECT Idalumno, Apealumno, b.Idesp, nomesp
FROM Alumno AS a, Especialidad AS b

Observamos El nuevo cambio en la tablas hemos colocado Alumno AS a,
Especialidad AS b, y en el campo b.Idesp, la lgica es la siguiente, para
b.Idesp decimos que Idesp, pertenece a la tabla Especialidad que ya que
tiene como alias la letra b.

Las letras a y b, son cualquier letras para poder identificar, a una
tabla obviamente puede hacerse el uso de otras letras. Debemos recordar
que los identificadores solamente se colocan en los campos que son
ambiguos, es decir en el campo donde excita una relacin o ms entre las
tablas. Es por eso que no es necesario Identificar a Idalumno, ya que este
campo no se relaciona en ningn momento con la tabla Especialidad.
13

El resultado de esta sintaxis es la siguiente:

Como vemos en esta ocasin SQL nos arroja el siguiente resultado, pero
observemos que todava nos falta algo mas, esto es necesitamos poner las
relaciones que existen entre estas dos tablas es decir necesitamos
establecer esta relacin: a.Idesp=b.Idesp , lo que hacemos aqu es
decirle que el Idesp que tiene la tabla a sea igual al Idesp de la tabla b.
esto se logra con la siguiente sintaxis:

SELECT Idalumno, Apealumno, b.Idesp, nomesp
FROM Alumno AS a, Especialidad AS b WHERE a.idesp=b.idesp

Hemos unidos 2 tablas por ende hay una sola relacin: a.idesp=b.idesp

Como un segundo ejemplo, necesitamos listar los siguientes campos:
IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinal.

Solucin.- por peticin del ejemplo es necesario el uso de 3 Tablas, las
cuales son Alumno, Curso, Notas, como debemos de unir 3 tablas,
entonces tenemos 2 relaciones entre estas, la solucin se muestra a
continuacin:

SELECT a.IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinal
FROM Alumno AS a, Curso AS c, Notas AS n
WHERE a.idalumno=n.idalumno AND c.idcurso=n.idcurso

La relaciones en este ejemplo son:
a.idalumno=n.idalumno AND c.idcurso=n.idcurso
Al ejecutar esta sentencia obtenemos:
14

Ejemplo 3: necesitamos conocer cual es el total del costo, de la especialidad
de cada alumno, para esto debe mostrar los siguientes campos:
a.IdAlumno, Apealumno, Nomesp, costo adems se pide ordenarlos por
cdigo del alumno.

SELECT a.IdAlumno, Apealumno, Nomesp, SUM(costo) AS Total
FROM Alumno AS a, Especialidad AS e WHERE a.idesp=e.idesp
GROUP BY a.Idalumno,Apealumno, nomesp ORDER BY 1


SCRIPTS DE LA BASE DE DATOS BDNOTAS

USE MASTER
-- CREACION DE BASE DE DATOS (DATA y LOG)
USE master
SET DATEFORMAT DMY
IF EXISTS(SELECT * FROM sysdatabases WHERE name='bdnotas')
begin
DROP DATABASE bdnotas
--GO
end

CREATE DATABASE bdnotas
GO

USE bdnotas



15

-- Verificando la existencia de las tablas
-- ---------------------------------------

go
IF EXISTS ( SELECT name FROM sysobjects
WHERE type = 'U' AND name = 'alumno' )
DROP TABLE alumno
go

IF EXISTS ( SELECT name FROM sysobjects
WHERE type = 'U' AND name = 'PAGOS' )
DROP TABLE PAGOS
go

IF EXISTS ( SELECT name FROM sysobjects
WHERE type = 'U' AND name = 'especialidad' )
DROP TABLE especialidad
go


-- Creacin de las Tablas y Claves Primarias
-- -----------------------------------------

CREATE TABLE Alumno (
IdAlumno char(5) NOT NULL primary key,
ApeAlumno varchar(30) NOT NULL,
NomAlumno varchar(30) NOT NULL,
Idesp char(3) NOT NULL,
PROCE CHAR(1)
)
go

CREATE TABLE PAGOS (
IdAlumno char(5) NOT NULL ,
CICLO char(6) NOT NULL,
NCUOTA INT NOT NULL,
MONTO NUMERIC(12,2) NOT NULL,
FECHA DATETIME,
PRIMARY KEY(IDALUMNO, CICLO, NCUOTA)
)
go

go
16


CREATE TABLE especialidad (
Idesp char(3) NOT NULL PRIMAry key,
Nomesp varchar(30) NOT NULL,
costo numeric(8,1) not null
)
go



CREATE TABLE Curso (
IdCurso char(4) NOT NULL primary key,
NomCurso varchar(35) NOT NULL,
credito int
)
go

go


CREATE TABLE NOTAS (
IdAlumno char(5) NOT NULL,
IdCurso char(4) NOT NULL,
ExaParcial real NULL,
ExaFinal real NULL,
primary key(Idalumno,Idcurso)
)
go


Insert Into Especialidad Values('E01','Educacion Informatica',2500)
Insert Into Especialidad Values('E02','Administracion',1800)
Insert Into Especialidad Values('E03','Contabilidad',2000)
Insert Into Especialidad Values('E04','Idiomas',1800)
Insert Into Especialidad Values('E05','Ing. de Sistemas',2800)


Insert Into ALUMNO Values('A0001','Valencia salcedo','Christian','E01','N')
Insert Into ALUMNO Values('A0002','Ortiz Rodriguez','Freddy','E01','P')
Insert Into ALUMNO Values('A0003','Silva Mejia','Ruth Ketty','E02','N')
Insert Into ALUMNO Values('A0004','Melendez Noriega','Liliana','E03','P')
Insert Into ALUMNO Values('A0005','Huerta Leon','Silvia','E04','N')
17
Insert Into ALUMNO Values('A0006','Carranza Fuentes','Maria
Elena','E02','P')
Insert Into ALUMNO Values('A0007','Prado Castro','Gabriela','E01','N')
Insert Into ALUMNO Values('A0008','Atuncar Mesias','Juan','E05','P')
Insert Into ALUMNO Values('A0009','Aguilar Zavala','Patricia
Elena','E01','P')
Insert Into ALUMNO Values('A0010','Rodruigez Trujillo','Rubn
Eduardo','E01','N')
Insert Into ALUMNO Values('A0011','Canales Ruiz','Gino Leonel','E02','P')
Insert Into ALUMNO Values('A0012','Ruiz Quispe','Edgar','E02','N')
Insert Into ALUMNO Values('A0013','PanduroTerrazas','Omar','E03','P')
Insert Into ALUMNO Values('A0014','Zita Padilla','Peter Wilmer','E03','N')
Insert Into ALUMNO Values('A0015','Ternero Ubills','Luis','E05','P')
Insert Into ALUMNO Values('A0016','Rivera Garca','Ral Joel','E04','P')
Insert Into ALUMNO Values('A0017','Pomar Garca','Ana','E04','P')
Insert Into ALUMNO Values('A0018','Palomares
Venegas','Mercedes','E04','N')
Insert Into ALUMNO Values('A0019','Ruiz Venegaz','Luis Alberto','E04','P')
Insert Into ALUMNO Values('A0020','Tejada Bernal','Janet','E04','P')
Insert Into ALUMNO Values('A0021','Sotelo Canales','Juan
Carlos','E05','P')
Insert Into ALUMNO Values('A0022','LLosa Montalvan','Karla','E05','P')
Insert Into ALUMNO Values('A0023','Galarza Torres','Hugo','E03','P')
Insert Into ALUMNO Values('A0024','Valverde Jaramillo','Saul','E05','N')
Insert Into ALUMNO Values('A0025','Cipriano Avila','Roxana','E04','N')
Insert Into ALUMNO Values('A0026','Rodriguez Quispe','Luis
Alberto','E05','P')
Insert Into ALUMNO Values('A0027','Huerta Leon','Marco
Antonio','E05','N')
Insert Into ALUMNO Values('A0028','Ortiz Fuentes','Ana Mara','E04','P')
Insert Into ALUMNO Values('A0029','Rivera Jaramillo','Martha','E05','P')
Insert Into ALUMNO Values('A0030','Bustamante
Campos','Guino','E05','N')

-- PAGOS CORRESPONDIENTES

Insert Into PAGOS Values('A0001','2005-2',1,300, '10/10/05')
Insert Into PAGOS Values('A0001','2005-2',2,340, '11/11/05')
Insert Into PAGOS Values('A0001','2005-1',3,340, '12/12/05')
Insert Into PAGOS Values('A0002','2006-2',1,300, '10/05/06')
Insert Into PAGOS Values('A0002','2006-2',2,350, '11/05/06')
Insert Into PAGOS Values('A0002','2006-1',1,360, '12/05/06')
Insert Into PAGOS Values('A0002','2006-1',2,370, '11/05/06')

18
Insert Into PAGOS Values('A0003','2005-1',1,340,'11/06/05')
Insert Into PAGOS Values('A0003','2005-1',2,340,'12/07/05')
Insert Into PAGOS Values('A0003','2005-2',1,340,'11/05/05')

Insert Into PAGOS Values('A0004','2005-2',1,300,'03/09/05')
Insert Into PAGOS Values('A0004','2005-2',2,380,'01/10/05')
Insert Into PAGOS Values('A0004','2006-1',1,370,'11/05/06')

Insert Into PAGOS Values('A0005','2005-2',1,350,'11/10/05')
Insert Into PAGOS Values('A0005','2005-2',2,360,'11/08/05')
Insert Into PAGOS Values('A0005','2006-1',1,380,'09/05/06')

Insert Into PAGOS Values('A0006','2005-2',3,300,'13/09/06')
Insert Into PAGOS Values('A0006','2005-1',1,340,'11/03/06')
Insert Into PAGOS Values('A0006','2005-1',2,390,'11/05/06')

Insert Into PAGOS Values('A0007','2005-2',1,340,'11/06/06')
Insert Into PAGOS Values('A0007','2005-1',1,380,'11/05/06')
Insert Into PAGOS Values('A0007','2005-1',2,440,'11/06/06')

Insert Into PAGOS Values('A0008','2005-2',1,340,'11/08/06')
Insert Into PAGOS Values('A0008','2005-2',2,320,'11/09/06')
Insert Into PAGOS Values('A0008','2004-1',1,370,'11/02/06')

Insert Into PAGOS Values('A0009','2005-2',1,340,'11/06/06')
Insert Into PAGOS Values('A0009','2005-2',2,330,'11/07/06')
Insert Into PAGOS Values('A0009','2005-1',1,340,'11/05/06')

Insert Into PAGOS Values('A0010','2005-2',1,340,'13/07/06')
Insert Into PAGOS Values('A0010','2005-2',2,330,'11/09/06')
Insert Into PAGOS Values('A0010','2005-1',1,350,'11/06/06')

Insert Into PAGOS Values('A0011','2005-2',1,340,'11/06/06')
Insert Into PAGOS Values('A0011','2005-2',2,330,'11/08/06')
Insert Into PAGOS Values('A0011','2005-1',2,370,'11/06/06')

Insert Into PAGOS Values('A0012','2005-2',1,340,'11/08/06')
Insert Into PAGOS Values('A0012','2005-2',2,370,'11/09/06')
Insert Into PAGOS Values('A0012','2005-1',1,390,'15/08/06')

Insert Into PAGOS Values('A0013','2005-2',1,340,'11/06/06')
Insert Into PAGOS Values('A0013','2005-1',1,340,'11/05/06')
Insert Into PAGOS Values('A0013','2005-1',2,350,'11/05/06')
Insert Into PAGOS Values('A0013','2005-1',3,370,'11/06/06')
19

Insert Into PAGOS Values('A0014','2005-2',1,340,'11/10/06')
Insert Into PAGOS Values('A0014','2005-2',2,330,'11/11/06')
Insert Into PAGOS Values('A0014','2005-1',1,350,'11/05/06')


Insert Into PAGOS Values('A0016','2005-2',1,340,'11/09/06')
Insert Into PAGOS Values('A0016','2005-2',2,360,'11/10/06')
Insert Into PAGOS Values('A0016','2005-1',1,340,'11/05/06')

Insert Into PAGOS Values('A0021','2005-2',1,340,'11/07/06')
Insert Into PAGOS Values('A0021','2005-2',2,480,'10/08/06')
Insert Into PAGOS Values('A0021','2005-1',1,340,'10/05/06')

Insert Into PAGOS Values('A0022','2005-2',1,340,'11/08/06')
Insert Into PAGOS Values('A0022','2005-2',2,330,'11/09/06')
Insert Into PAGOS Values('A0022','2005-1',1,350,'11/03/06')

Insert Into PAGOS Values('A0023','2005-2',1,340,'11/09/06')
Insert Into PAGOS Values('A0023','2005-2',2,370,'11/10/06')
Insert Into PAGOS Values('A0023','2005-1',1,370,'11/05/06')

Insert Into PAGOS Values('A0024','2005-2',1,340,'11/06/06')
Insert Into PAGOS Values('A0024','2005-2',2,340,'11/08/06')
Insert Into PAGOS Values('A0024','2005-1',1,340,'11/05/06')
Insert Into PAGOS Values('A0024','2005-1',2,340,'11/05/06')

Insert Into PAGOS Values('A0025','2005-2',1,340,'11/08/06')
Insert Into PAGOS Values('A0025','2005-2',2,370,'11/09/06')

Insert Into PAGOS Values('A0028','2005-1',1,340,'11/05/06')
Insert Into PAGOS Values('A0028','2005-1',2,390,'11/06/06')

Insert Into PAGOS Values('A0029','2004-1',1,340,'11/06/06')

-- Agregar Datos a la Tabla NOTAS
-- ===============================

Insert Into NOTAS Values('A0001','C001',11,17)
Insert Into NOTAS Values('A0001','C003',09,15)
Insert Into NOTAS Values('A0001','C004',18,3)
Insert Into NOTAS Values('A0002','C001',15,9)
Insert Into NOTAS Values('A0002','C002',11,03)
Insert Into NOTAS Values('A0002','C003',14,13)
20
Insert Into NOTAS Values('A0003','C008',12,13)
Insert Into NOTAS Values('A0003','C005',16,14)
Insert Into NOTAS Values('A0003','C003',8,13)
Insert Into NOTAS Values('A0003','C004',7,14)
Insert Into NOTAS Values('A0004','C006',11,12)
Insert Into NOTAS Values('A0004','C007',9,11)
Insert Into NOTAS Values('A0004','C005',7,12)
Insert Into NOTAS Values('A0005','C004',17,16)
Insert Into NOTAS Values('A0005','C005',12,17)
Insert Into NOTAS Values('A0005','C003',6,13)
Insert Into NOTAS Values('A0006','C004',16,15)
Insert Into NOTAS Values('A0006','C006',5,12)
Insert Into NOTAS Values('A0006','C007',8,13)
Insert Into NOTAS Values('A0007','C002',7,9)
Insert Into NOTAS Values('A0007','C004',12,7)
Insert Into NOTAS Values('A0007','C005',11,6)
Insert Into NOTAS Values('A0008','C008',5,8)
Insert Into NOTAS Values('A0008','C009',7,4)
Insert Into NOTAS Values('A0008','C004',5,13)
Insert Into NOTAS Values('A0009','C005',6,13)
Insert Into NOTAS Values('A0009','C009',18,13)
Insert Into NOTAS Values('A0009','C010',12,15)
Insert Into NOTAS Values('A0010','C010',16,14)
Insert Into NOTAS Values('A0010','C001',5,12)
Insert Into NOTAS Values('A0010','C003',12,11)
Insert Into NOTAS Values('A0011','C001',5,13)
Insert Into NOTAS Values('A0011','C002',11,13)
Insert Into NOTAS Values('A0011','C004',7,03)
Insert Into NOTAS Values('A0012','C004',10,08)
Insert Into NOTAS Values('A0012','C005',7,10)
Insert Into NOTAS Values('A0012','C006',17,10)
Insert Into NOTAS Values('A0013','C001',14,3)
Insert Into NOTAS Values('A0013','C002',7,10)
Insert Into NOTAS Values('A0013','C004',12,13)
Insert Into NOTAS Values('A0013','C003',15,12)
Insert Into NOTAS Values('A0014','C001',11,15)
Insert Into NOTAS Values('A0014','C003',15,13)
Insert Into NOTAS Values('A0014','C004',12,18)
Insert Into NOTAS Values('A0015','C001',5,13)
Insert Into NOTAS Values('A0015','C003',14,13)
Insert Into NOTAS Values('A0015','C004',15,12)

Insert Into NOTAS Values('A0016','C002',6,13)
Insert Into NOTAS Values('A0016','C003',12,11)
21
Insert Into NOTAS Values('A0016','C006',17,12)

Insert Into NOTAS Values('A0021','C004',8,17)
Insert Into NOTAS Values('A0021','C005',14,3)
Insert Into NOTAS Values('A0021','C006',17,12)

Insert Into NOTAS Values('A0022','C004',17,13)
Insert Into NOTAS Values('A0022','C005',8,13)
Insert Into NOTAS Values('A0022','C003',7,13)

Insert Into NOTAS Values('A0023','C004',10,13)
Insert Into NOTAS Values('A0023','C008',12,13)
Insert Into NOTAS Values('A0023','C009',18,13)

Insert Into NOTAS Values('A0024','C004',10,3)
Insert Into NOTAS Values('A0024','C005',11,9)
Insert Into NOTAS Values('A0024','C003',16,8)
Insert Into NOTAS Values('A0024','C007',16,13)

Insert Into NOTAS Values('A0025','C004',1,13)
Insert Into NOTAS Values('A0025','C005',10,18)

Insert Into NOTAS Values('A0028','C005',16,13)
Insert Into NOTAS Values('A0028','C004',17,7)

Insert Into NOTAS Values('A0029','C004',11,13)

-- Agregar Datos a la Tabla Curso
-- ==============================

Insert Into Curso Values('C001','Matematica Basica',3)
Insert Into Curso Values('C002','Filosofia I',6)
Insert Into Curso Values('C003','Psicologia Industrial',5)
Insert Into Curso Values('C004','Algoritmica',4)
Insert Into Curso Values('C005','Software de Aplicacion',5)
Insert Into Curso Values('C006','Lenguaje de Programacion I',5)
Insert Into Curso Values('C007','Lenguaje Java ',4)
Insert Into Curso Values('C008','Matematica II',3)
Insert Into Curso Values('C009','Ingles Tecnico',5)
Insert Into Curso Values('C010','Lenguaje de Programcion III',3)
Insert Into Curso Values('C011','Aplicaciones Cliente/Servidor',4)



22

SELECT * FROM ALUMNO
SELECT * FROM ESPECIALIDAD
SELECT * FROM PAGOS
SELECT * FROM NOTAS
SELECT * FROM CURSO

También podría gustarte