Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- 137 -
5 SENTENCIAS SQL
El lenguaje de consulta estructurado o SQL (por sus siglas en ingls Structured
Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales
que permite especificar diversos tipos de operaciones en ellas. Una de sus
caractersticas es el manejo del lgebra y el clculo relacional que permiten efectuar
consultas con el fin de recuperar de forma sencilla informacin de inters de bases de
datos, as como hacer cambios en ellas.
5.1 LAS CONSULTAS
Tipos de consultas.
Las consultas son los objetos de una base de datos que permiten recuperar datos de
una tabla, modificarlos e incluso almacenar el resultado en otra tabla.
Existen varios tipos de consultas:
Consultas de seleccin. Una consulta de seleccin genera una tabla lgica (se llama
lgica porque no est fsicamente en el disco duro sino en la memoria del ordenador y
cada vez que se abre se vuelve a calcular).
Consultas de accin.
Son consultas que realizan cambios a los registros. Existen
varios tipos de consultas de accin, de eliminacin, de actualizacin, de datos
anexados y de creacin de tablas.
Consultas especficas de SQL.
Son consultas que no se pueden definir desde la cuadrcula QBE de Access sino que
se tienen que definir directamente en SQL.
Para practicar las consultas SQL se usara la base de datos alumnos
5.2 PASOS PARA EJECUTAR SENTENCIA SQL EN VISUAL BASIC
1. TABLA ALUMNOS
CodAlumn
o
A1
A2
A3
A4
A5
NombreAlumno FechaNac
JUAN
01/01/1970
PEDRO
01/01/1977
LUIS
01/01/1980
JORGE
01/01/1990
MARIO
01/01/1993
2. TABLA CURSOS
CodCurs
o
NombreCurso
AD
Admision
M1
Matrcula 1
C1
Ergonoma
C2
Gestin de Recursos Humanos
C3
Condiciones de Seguridad
C4
Salud Ocupacional
3. TABLA PAGOS
Profesor
LOPEZ
RIOS
FLORES
PEREZ
Nro
1
2
3
4
5
6
7
8
CodAlumno
A1
A2
A1
A3
A2
A1
A4
A4
FechaPag
o
Monto
01/04/2007
100
01/12/2007
100
01/02/2008
200
01/03/2008
100
01/02/2009
200
02/04/2009
200
03/05/2009
200
04/08/2009
200
- 138 -
CodCurso
AD
AD
C1
AD
C2
C2
AD
C1
Elija
- 139 -
- 140 -
Data
Source=(LocalDB)\v11.0;AttachDbFilename=E:\SI2014B\DATOS\ALUMNOS.mdf;In
tegrated Security=True;Connect Timeout=30
- 141 -
CONSULTAS SQL
- 142 -
- 143 -
5.5 Definir campos calculados: Los campos calculados son campos obtenidos del
resultado de una expresin o de una funcin.
Ejemplo Supongamos que se debe separar el 15% de los pagos para la Universidad
entonces creamos un campo calculado que se llamar Descuento que seria
select * from pagos
SELECT Nro,CodAlumno, monto ,monto*0.10
as descuento,
monto-monto*0.10 as neto,codcurso FROM PAGOS
Para copiar con cabecera
Resultado
5
- 144 -
32
NUMERO ALEATORIOS SELECT rand () AS aleatorio
aleatorio
0.360058
41
5.7 Encabezados de columna
Ejemplo cambiar el nombre de CAMPO CodAlumno con CODIGOALUMNO
SELECT CodALumno AS CODIGOALUMNO FROM ALUMNOS
5.8 Ordenar las filas
Ejemplo listar todos La tabla alumnos ordenados de acuerdo al nombre del alumno
/* seleccionar registros de la tabla alumnos ordenados por nombre*/
SELECT ALUMNOS.* FROM ALUMNOS
ORDER BY ALUMNOS.NombreAlumno ASC
El orden puede ser ascendente o descedente ASC o DESC)
1. Generar El cdigo y el nombre del alumno de la tabla ALUMNOS ordenado por
nombre del alumno en forma ascendente
SELECT ALUMNOS.* FROM ALUMNOS ORDER BY ALUMNOS.NombreAlumno ASC
2.
- 145 -
- 146 -
- 147 -
FechaNAc
01/01/1970
01/08/1993
- 148 -
JUAN
A3
LUIS
FechaN
Ac
01/01/19
70
02/02/19
80
FechaN
ac
01/01/19
70
02/02/19
80
FechaPa
go
01/04/200
7
01/12/200
7
01/03/200
8
01/05/201
0
CodAlum
no
CodCurs
o
A2
Monto
09/04/19
00 AD
09/04/19
00 M1
A3
100 AD
A1
200 AD
A1
FechaPa
go
01/02/200
8
01/02/200
9
01/04/200
9
01/08/201
1
CodAlum
no
CodCurs
o
A2
Monto
18/07/19
00 C1
18/07/19
00 C1
A1
300 C2
A1
120 C1
A1
- 149 -
Funciones de columna
- 150 -
La funcin SUM() calcula la suma de los valores indicados en el argumento. Los datos
que se suman deben ser de tipo numrico (entero, decimal, coma flotante o
monetario...).
La funcin AVG() calcula el promedio (la media arimtica) de los valores indicados en el
argumento, tambin se aplica a datos numricos,
StDev() y StDevP() calculan la desviacin estndar de una poblacin o de una muestra
de la poblacin representada por los valores contenidos en la columna indicada en el
argumento. Si la consulta base (el origen) tiene menos de dos registros, el resultado es
nulo.
Las funciones MIN() y MAX() determinan los valores menores y mayores
respectivamente. Los valores de la columna pueden ser de tipo numrico, texto o
fecha.
La funcin COUNT(nb columna) cuenta el nmero de valores que hay en la columna,
los datos de la columna pueden ser de cualquier tipo, y la funcin siempre devuelve un
nmero entero.
COUNT(*) permite contar filas en vez de valores. Si la columna no contiene ningn
valor nulo,
SELECT Count(NombreALumno) AS Cantidad FROM Alumnos ;
Cantidad
5
SELECT Count(*) AS Cantidad FROM Alumnos
Ejercicio . Elaborar una consulta donde nos muestre la suma, el promedio , el mayor y
el menor y la desviacin tpica de los totales de la tabla PAGOS
Avg(Monto) As Promedio ,
Max(Monto) As Maximo,
Min(Monto) as Minimo ,
STDEV (MONTO) AS desviacion,
STDEVp (MONTO) AS desviacion
FROM PAGOS;
Cuenta
Suma
8
Promedi
o
1600
200
Maximo
300
- 151 -
desviacio
n
desviacion
86.602540
100 92.58201
4
Minimo
- 152 -
HAVING se comporta como WHERE, pero se aplica a grupos (las filas o tuplas en el
conjunto de resultados representan grupos). La clusula WHERE se aplica a filas o
tuplas individuales, NO a grupos.
HAVING .- tiene un efecto similar similar a WHERE , pero solo trabaja de acuerdo a
los resultados obtenidos por GROUP BY . Con la siguiente Instruccin
SELECT Codalumno, SUM (monto) As Totales
FROM pagos GROUP BY codalumno
SELECT Codalumno, SUM (monto) As Totales
FROM pagos GROUP BY codalumno HAVING SUM(monto)<=400
- 153 -
- 154 -
Combinar tablas
Cuando dos tablas estn combinadas en una consulta, para cada fila de una de las
tablas Access busca directamente en la otra tabla las filas que tienen el mismo valor en
el campo de unin, con lo cual se emparejan slo las filas que luego aparecen en el
resultado y la consulta es ms eficiente.
Ejemplo de composicin interna
INNER JOIN CON LA BASE DE DATOS ALUMNOS
Obtener un listado completo de a tabla PAGOS incluyendo el cdigo del alumno el
nombre y el monto
SQL SIN INNER JOIN
SELECT A.Nro,A.CodAlumno,b.nombrealumno,a.monto FROM Pagos A, Alumnos B
WHERE A.codAlumno = B.codAlumno ORDER BY A.Nro;
- 155 -
- 156 -
Combinaciones internas.
Una combinacin interna es la combinacin ms utilizada. Devuelve slo las filas que
cumplen la especificacin de combinacin. Aunque en teora cualquier operador
relacional (como > o <) puede utilizarse en la especificacin de combinacin, casi
siempre se utiliza el operador de igualdad (=). Usando el operador de igualdad se
denomina combinaciones naturales.
Combinaciones externas.
Combinaciones externas devolucin todas las filas de una de las tablas combinadas
(mnimo) aunque filas en una tabla no coinciden con las filas de la otra. Existen tres
tipos de combinaciones externas: combinacin externa, combinacin externa derecha y
combinacin externa completa.
5.16.2LA COMPOSICION EXTERNA
La composicin externa se utiliza cuando queremos que tambin aparezcan las filas
que no tienen una fila coincidente en la otra tabla.
Ejemplo de combinacin externa Encontrar los pagos
incluyendo los alumnos que no pagaron
Totales
por alumno
- 157 -
5.17 UNION.
La mayora de las consultas requieren informacin de ms de una tabla. Una Unin es
una operacin relacional que produce una tabla por recuperar los datos de dos tablas
(no necesariamente distintas) y que coinciden con sus filas segn una especificacin
de combinacin(UNION).
Existen diferentes tipos de combinaciones, que miran individualmente, pero tenga en
cuenta que cada combinacin es una operacin binaria, es decir, una tabla se une a
otro, que puede ser la misma tabla, ya que las tablas se pueden unir a s mismos. La
operacin de combinacin es un tema algo complejo y Rico. Las secciones siguientes
tratan la.
EL OPERADOR UNION
Unir dos tablas sin repeticiones ( mostrar tablas pagos y nombres sin repeticiones)
SELECT CodAlumno from Alumnos UNION
SELECT CodAlumno from Pagos
Unir dos tablas con repeticiones ( tabla nombres y pagos)
SELECT CodAlumno from Alumnos UNION ALL
SELECT CodAlumno from Pagos;
- 158 -
Monto
100
200
100
200
100
300
400
100
CodCurs
o
C1
C2
C2
C3
C4
C2
C3
C4
total
500
800
100
100
SELECT CODALUMNO ,
sum (case when codcurso='AD' then monto else 0 end ) as AD,
sum (case when codcurso='M1' then monto else 0 end ) as M1,
sum (case when codcurso='C1' then monto else 0 end ) as C1,
sum (case when codcurso='C2' then monto else 0 end ) as C2,
sum (case when codcurso='C3' then monto else 0 end ) as C3,
sum (case when codcurso='C4' then monto else 0 end ) as C4,
sum(monto) as total
from pagos group by CODALUMNO
SELECT CODcurso ,
COUNT (case when codalumno='A1'
COUNT (case when codalumno='A2'
COUNT (case when codalumno='A3'
COUNT (case when codalumno='A4'
COUNT (case when codalumno='A5'
COUNT(*) as total
from pagos group by CODCURSO
5.18.2Operador de pivote:
- 159 -
Un escenario comn donde dinmica puede ser til es cuando desea generar informes
de tablas cruzadas para resumir datos. El operador PIVOT puede rotar filas a
columnas.
EJERCICIO DE OPERADOR PIVOT CON LA TABLA ALUMNOS
Calcular la cantidad de alumnos matriculados en cada curso: La sentencia SQL es
select codAlumno, AD,M1,C1,C2,C3,C4
from ( select Codalumno , CodCurso From Pagos
)piv Pivot
(
count(CodCurso) for CodCurso in (AD,M1,C1,C2,C3,C4)
) as CantCurso
Al revez
select codcurso, A1,A2,A3,A4
from ( select Codcurso , Codalumno From Pagos
) A Pivot
( count(Codalumno) for Codalumno in (A1,A2,A3,A4,A5)
) as Cantaumno
codcurs
o
AD
C1
C2
C3
M1
A1
2
1
0
0
0
A2
0
0
0
1
1
A3
0
1
1
0
1
A4
0
0
0
0
0
Para sumar
select codAlumno, AD,M1,C1,C2,C3,C4
from ( select Codalumno , MONTO,CodCurso From Pagos
)piv Pivot
( SUM(MONTO) for CodCurso in (AD,M1,C1,C2,C3,C4)
) as TOTAL
Elaborar una cuadricula de pagos por aos y meses
- 160 -
Transac
date
t-SQL
year date part
datetim func part Mes
e
tion Ao r
dat
epa
rt
Dia
datepa
rt Dia
del
ao
h
o
r
a
Mi
n
ut
o
Se
gu
nd
o
datepa
rt dia
seman
a
datepar
t
miliseg
undos
datepar
t
microse
gundo
35:27.
201 201
7 35:27.7
5
5
28
1
179 0
3
5 27
- 161 -
667 667000
select getdate()
2015-06-28 10:39:05.557
- 162 -
son consultas
Forma B
- 163 -
NombreAlum FechaN
no
Ac
01/01/19
JUAN
70
FechaPag
o
01/02/200
1
01/02/200
1
01/02/200
1
01/02/201
0
01/02/200
Codalumn
o
Monto
CodCurs
o
A1
100 C1
A2
200 C2
A1
100 C2
A2
A3
200 C3
100 C4
1
01/02/201
6
5 A1
20/02/201
7
5 A2
01/02/201
8
5 A4
- 164 -
300 C2
400 C3
100 C4
MAYOR
400
b) a que codigo del alumno le corresponde ese mayor pago
SELECT CODALUMNO FROM PAGOS WHERE MONTO=
(SELECT MAX(MONTO) AS MAYOR FROM PAGOS)
CODALU
MNO
A2
C) EL NOMBRE DEL alumno que hizo el mayor pago
SELECT * FROM ALUMNOS
Select nombrealumno from alumnos where codalumno =
(SELECT CODALUMNO FROM PAGOS WHERE MONTO=
(SELECT MAX(MONTO) AS MAYOR FROM PAGOS))
nombrealu
mno
PEDRO
5.22 Funcin ROW_NUMBER()
SQL Server 2005 ha introducido la funcin ROW_NUMBER() para clasificacin:
devuelve un nmero secuencial, nico para cada fila del conjunto de resultado
devuelto.
Ejemplo con la base de datos alumnos
SELECT ROW_NUMBER() OVER(ORDER BY NOMBREALUMNO Asc) AS FilaNro,
CODALUMNO, NOMBREALUMNO FROM ALUMNOS
FilaNro
1
2
3
4
5
6
CODALUMN
O
A4
A6
A1
A3
A5
A2
NOMBREALUMN
O
JORGE
JOSE
JUAN
LUIS
MARIO
PEDRO
- 165 -
Nro
FechaPago
1
2
3
4
5
6
7
8
01/04/2007
01/12/2007
01/02/2008
01/03/2008
01/02/2009
01/04/2009
01/05/2010
01/08/2011
CodAlumn
o
Monto
A1
100
A2
100
A1
200
A3
100
A2
200
A1
300
A1
200
A1
120
CodCurs
o
AD
M1
C1
AD
C1
C2
AD
C1
Ejemplo 2. SELECT codalumno, sum(monto) as total into resumen FROM pagos group
by codalumno;
Crear tablas con SQL
CREATE TABLE ALUMNOS2
(CodAlumno char(10),
NombreAlumno char(50),
FechaNac date,
primary key (CodAlumno)
)
- 166 -
- 167 -
values
- 168 -
En SQL seria :
CREATE TABLE TABLE1
(Id int,
Nombre char(10),
FechaNac nchar(10),
primary key (Id)
)
Y se ingreso los siguientes datos
Que en sentencia SQL seria
DELETE FROM TABLE1
INSERT INTO TABLE1 (Id,Nombre,FechaNac) values (1,'JOSE','1/2/2001');
INSERT INTO TABLE1 (Id,Nombre,FechaNac) values (2,'PEDRO','fecha2');
INSERT INTO TABLE1(Id,Nombre,FechaNac) values (3,'LUCAS','fecha3');
Que se obtiene
- 169 -
- 170 -
FechaPag CodAlumn
o
o
01/04/200
7
A1
01/12/200
7
A2
01/02/200
8
A1
01/03/200
8
A3
01/02/200
9
A2
01/04/200
9
A1
01/05/201
0
A1
01/08/201
1
A1
Monto
CodCurs
o
100
AD
100
M1
200
C1
100
AD
200
C1
300
C2
200
AD
120
C1
Total
920
300
100
codalumn
o
A1
- 171 -
suma
920
Monto
300
CodCurs
o
C2
pagotota
l
200
300
500
200
120
- 172 -
TOTAL
400
520
300
100
P1
P2
200
300
100
100
100
20
p2 Dif
10 10
0 0
10 20
0 0
20 80
Caso 2 .Se tiene la siguientes tablas (ingresos y egresos) de una base de datos
se desea obtener los saldos
INGRESOS
NOMBRE INGRESOS
A
200
B
300
- 173 -
50
EGRESOS
NOMBRE Egresos
A
100
B
200
SELECT B.NOMBRE , B.EGRESOS FROM Egresos B
SELECT A.NOMBRE , A.INGRESOS FROM Ingresos A
SELECT a.NOMBRE ,A.INGRESOS ,B.EGRESOS,A.INGRESOS-B.EGRESOS AS
SALDO FROM Ingresos A
LEFT JOIN Egresos B
ON A.NOMBRE = B.NOMBRE
NOMB INGRES EGRES SAL
RE
OS
OS
DO
A
200
100 100
B
300
200 100
C
50
EJERCICIOS DE CONSULTAS DE REFERENCIAS CRUZADAS(Acces)
1 Elaborar la cuadricula de pagos por alumno y curso (no incluye totales)
TRANSFORM SUM(Pagos.Monto) SELECT Pagos.CodAlumno
FROM Pagos GROUP BY Pagos.CodAlumno PIVOT Pagos.CodCurso
PAGOS_Tabla ALUMNOS Y CURSOS
CodAlumno
AD
A1
100,00
A2
100,00
A3
100,00
A4
200,00
C1
200,00
C2
200,00
200,00
200,00
2007
A1
500,00
A2
100,00
A3
2008
200,00
100,00
A4
A5
2009
400,00
200,00
- 174 -
12
500,00
A2
200,00
A3
100,00
100,00
A4
200,00
A5
200,00
200,00
2007
500,00
12
100,00
2008
100,00
2009
200,00
200,00
200,00
200,00
Probar los Ejercicios de SQL de Borja Sotomayor se le enva un modelo ( realizar los
ejercicios de 2 al 9 como el caso de la tienda de Informatica que se deja como Modelo
1.
2.
3.
4.
La Tienda de Informatica
Empleados
Los Almacenes
Peliculas y Salas
Los Directores
Piezas y Proveedores
Los Cientificos
Los Grandes Almacenes
Los Investigadores
- 175 -
- 176 -
Con la sentencia
- 177 -
1.3 Obtener el nombre de los productos cuyo precio sea menor igual a 200
- 178 -
1.4 Obtener todos los datos de los artculos cuyo precio este entre los 60 y los 120
(ambas cantidades incluidas)
/* Con AND */
SELECT * FROM ARTICULOS WHERE Precio >=80 AND Precio <=120
/* Con BETWEEN */
SELECT Codigo, Nombre, Precio, Fabricante
FROM
Articulos
WHERE (Precio BETWEEN 60 AND 120)
1.4 Obtener el nombre y el precio en pesetas (es decir, el precio en euros multiplicado
por 166386)
/*Sin As */
SELECT Nombre, Precio * 166.386 FROM ARTICULOS
- 179 -
/*Con As */
SELECT Nombre, Precio * 166.386 As PrecioPtas FROM ARTICULOS
1.7 Obtener el precio medio de los articulos cuyo codigo de fabricante sea 2.
SELECT AVG (Precio) as Precio_medio FROM ARTICULOS WHERE Fabricante = 2
- 180 -
1.8 Obtener el nmero de artculos cuyo precio sea mayor o igual a 180 .
SELECT COUNT (*) as num_articulos FROM ARTICULOS
WHERE Precio >= 180
1.9 Obtener el nombre y precio de los artculos cuyo precio sea mayor o igual a 180
Euros y ordenarlos desdendentemente por precio y luego ascendentemente por
nombre
SELECT Nombre, Precio
FROM
Articulos
WHERE (Precio >= 180)
ORDER BY Precio DESC, Nombre
1.10 Obtener un listado completo de artculos, incluyendo por cada artculo los datos
del artculo y de su fabricante.
/* SIN INNER JOIN */
SELECT * FROM ARTICULOS, FABRICANTES
- 181 -
- 182 -
1.12 Obtener el precio medio de los productos de cada fabricante, mostrando solo los
cdigos de fabricante.
SELECT AVG(Precio) AS Expr1, Fabricante
FROM
Articulos
GROUP BY Fabricante
- 183 -
1.14 Obtener los nombres de los fabricantes que ofrezcan productos cuyo precio medio
sea mayor o igual a 150 .
/* SIN inner JOIN*/
SELECT AVG(Precio) AS Precio_medio, Fabricantes.Nombre
FROM
Articulos,FABRICANTES
WHERE ARTICULOS.Fabricante = Fabricantes.Codigo
GROUP BY Fabricantes.Nombre
HAVING
(AVG(Articulos.Precio) >= 150)
- 184 -
- 185 -
1.16 Obtener una lista con el nombre y precio de los artculos ms caros de cada
proveedor (incluyendo el nombre del proveedor)
/* SIN INNER JOIN */
SELECT A.Nombre, A.Precio, F.Nombre
FROM
Articulos A ,FABRICANTES F
WHERE A.Fabricante=F.Codigo
AND A.Precio =
(SELECT MAX(A.Precio)
FROM
Articulos A
WHERE
A.Fabricante = F.Codigo)
VALUES
- 186 -
1.19Aplicar un descuento del 10% (multiplicar el precio por 09) a todos los productos
Update ARTICULOS
Set precio= Precio *0.9
1.20Aplicar un descuento de 10 a todos los productos cuyo precio sea mayor o igual
a 120
Update ARTICULOS SET precio = Precio -10 WHERE Precio >=120
NomApels
JUAN
PEREZ
JOSE
PEREZ
JAVIER
RIOS
LUIS
MONTES
CARLOS
RIOS
Faculta
d
1
2
3
1
2
2 TABLA FACULTAD
CODIGO
1
2
3
4
NOMBRE
PRODUCCION Y SERVICIOS
MEDICINA
EDUCACION
CIENCIAS FORMALES
3 TABLA RESERVA
NumSeri Comienz
DNI
e
o
01/06/200
1111
1
9
01/06/200
2222
2
9
01/06/200
3333
3
9
01/06/200
4444
4
9
Fin
12/06/201
0
12/06/201
0
12/06/201
0
12/06/201
0
- 187 -
5555
1111
01/06/200
9
01/06/200
9
- 188 -
12/06/201
0
12/06/201
0
1. TABLA EQUIPOS
NumSeri
e
Nombre
1
UNIDAD PLC
2
MICROSCOPIO
3
PROYECTOR MULTIMEDIA
4
EQUIPO LABORATORIO
5
GPS
6
LAPTOP TOSHIBA
8
SENSORES DE LUZ
Facultad
1
2
3
4
1
2
1
- 189 -
NomApels
JUAN PEREZ
JOSE PEREZ
LUIS MONTES
/* juntando tablas +/
SELECT DISTINCT I.DNI, NomApels
FROM [RESERVA$] R , [INVESTIGADORES$] I, [EQUIPOS$] E
WHERE R.DNI=I.DNI
AND R.NumSerie= E.NumSerie
AND I.Facultad <> E.Facultad
/*con EXISTS */
SELECT DNI, NomApels FROM [INVESTIGADORES$] I
WHERE EXISTS
( SELECT *
FROM [RESERVA$] R INNER JOIN [EQUIPOS$] E
ON R.NumSerie = E.Numserie
WHERE R.DNI=I.DNI
AND I.Facultad <> E.Facultad
)
9.4 Obtener los nombres de las facultades en las que ningun investigador ha
realizado una reserva
Nombre
En este caso todos ha realizado alguna reserva
SELECT Nombre FROM [FACULTAD$]
WHERE Codigo IN
( SELECT Facultad
FROM [INVESTIGADORES$] I LEFT JOIN [RESERVA$] R
ON I.DNI =R.DNI
GROUP BY Facultad
HAVING COUNT (R.DNI)=0
)
9.5 Obtener los nombres de las facultades con investigadores ociosos
( investigadores que no han realizado ninguna reserva).
Nombre
- 190 -
- 191 -
- 192 -
TABLE_SCH TABLE_N
EMA
AME
dbo
ALUMNOS
dbo
PAGOS
dbo
dbo
CURSOS
ALUMNOS
1
SUBTOTA
LES
ALUMNOS
2
dbo
TB2015B
dbo
dbo
TABLE_T
YPE
BASE
TABLE
BASE
TABLE
BASE
TABLE
BASE
TABLE
BASE
TABLE
BASE
TABLE
BASE
TABLE
- 193 -
use [E:\DATOS\ALUMNOS.MDF]
select name from sysobjects
--La consulta muestra todos los objetos de la base de datos Alumnos
select name from sysobjects osea 82 objetos
--La consulta muestra todas las tablas de la base de datos
select name from sysobjects where type='U'
- 194 -
- 195 -
Pruebe
- 196 -
- 197 -
- 198 -
Encontrar todos los apellidos (LastName) en la tabla Employees que comiencen con la
letra <<S>>. Use el carcter comodn %.
SELECT LastName FROM Employees WHERE LastName LIKE 'S%'
Para recuperar el apellido de los Empleados cuya primera letra comienza entre <<A>>
y<<M>>. Utilice el comodn [ ]
SELECT LastName FROM Employees WHERE LastName LIKE '[A-M ]%'
Juegue con la base de datos NORWIND elaborando consultas creadas por usted
mismo
Vea la base de datos Neptuno hecho en Access
- 199 -