La Sostenibilidad Corporativa. Administración Ambiental
Consultas
1. Introducción a la gestión de las Bases de Datos con:
Structured Query Languaje – Lenguaje Estructurado de Constulta
Comenzaremos creando una tabla llamada Tabla_Usuario en la que almacenaremos una serie
de campos (DNI;Nombre;Apellidos;Dirección;Teléfono;E-mail;Provincia), y para ello utilizaremos
la intrucción CREATE TABLE
CREATE TABLE Tabla_Usuarios
( DNI VARCHAR(10) PRIMARY KEY,
Nombre VARCHAR (30),
Apellidos VARCHAR (40),
Dirección VARCHAR (50),
Telefono VARCHAR (9),
Email VARCHAR (50),
Provincia VARCHAR (30))
… Una vez creada la tabla procederemos a actualizar las tablas.
Ya tenemos una tabla vacía y por lo tanto necesitamos llenarla de datos, para ello
utilizaremos la instrucción INSERT INTO
INSERT INTO Tabla_Usuarios
VALUES ('00000000-A','Jéssica','Carrillo
Cánovas','Calle Mayor 1','927000000',
'jessica@gmail.com','Cáceres')
2. Hay que introducir uno a uno los registros de la tabla, para ello nos podemos valer del
contenido siguiente fichero de texto:
('00000000-A','Jéssica','Carrillo Cánovas','Calle Mayor
1','927000000','jessica@gmail.com','Cáceres')
('11111111-B','Matilde','Castillo Ortíz','Plaza de España
S/N','924111111','mati@gmail.com','Badajoz')
('10101010-Z','Rocío','Ojeda Gálvez','Gran Vía 12','927998877','rocio@hotmail.com','Cáceres')
('22222222-C','Inma','Cherbal Castejón','Calle General Mola
12','924222222','inma@gmail.com','Badajoz')
('33333333-D','Juan Antonio','Lajarín Tornel','Paseo Alfonso XIII
25','924333333','juanan@gmail.com','Badajoz')
('44444444-E','Genoveva','Maldonado Jiménez','Av. San Juan de la cruz
1','924444444','geno@hotmail.com','Badajoz')
('55555555-F','Carolina','Mármol Fernández','Calle princesa
8','927555555','carolina@gmail.com','Cáceres')
('66666666-G','Ana','Navarro Sánchez','Calle Cartagena
26','924666666','ana@hotmail.com','Badajoz')
('77777777-H','Borja','Giménez Belmonte','Paseo de Florencia
7','924777777','borja@gmail.com','Badajoz')
('88888888-I','Belén','Girauta Benitez','Paseo de Ciruela
12','926220073','belen@gmail.com','Ciudad Real')
('99999999-J','Alex','Gordillo Serrano','Calle de Toledo17'
,'926217706','alex@hotmail.com','Ciudad Real')
… y una vez introducido todos los datos en sus correspondientes campos resulta la siguiente tabla:
Una vez que tenemos una base de datos sobre la que trabajar pasamos a realizar consultas,
las consultas en SQL se realizan utilizando la instrucción SELECT, cuya sintáxis pasaremos a
aprender paso a paso a través de ejemplos.
El caso más sencillo sería listar todo el contenido, sin discriminar campos, para eso
escribiríamos lo siguiente:
SELECT * FROM TABLA_USUARIOS
… Pulsamos F5 y el resultado sería:
3. Para discriminar o seleccionar unos campos en particular:
SELECT PROVINCIA,NOMBRE,APELLIDOS,EMAIL FROM TABLA_USUARIOS
Podemos observar que respeta el orden del campo de consulta, poniendo el campo
PROVINCIA por delante del resto.
En el caso de que tuvieramos varias tablas relacionadas deberíamos especificar la tabla a la
que pertenece cada campo de la siguiente manera:
SELECT TABLA_USUARIOS.PROVINCIA,
TABLA_USUARIOS.NOMBRE,
TABLA_USUARIOS.APELLIDOS,
TABLA_USUARIOS.EMAIL
FROM TABLA_USARIOS
Una vez seleccionados los datos (SELECT) y sabiendo de donde los seleccionamos
(FROM) tenemos que especificar cual es el filtro (WHERE)
Vamos a seleccionar a todos los que vivan en la provincia de Badajoz
SELECT NOMBRE, APELLIDOS
FROM TABLA_USUARIOS WHERE PROVINCIA='Badajoz'
4. … Después de comprobar que la sintáxis es correcta pulsamos F5
– Mostrar los nombres y apellidos de el resto de componentes de la tabla.
Operadores Lógicos
Los operadores que puedes utilizar en las sentencias de SQL son los mismos que los disponibles en en OpenOffice
Base o LibreOffice Base
= Igual a - Devuelve los registros que coinciden con la condición.
< Menor que - Muestra aquellos registros cuyos valores son estrictamente
menores que la condición.
> Mayor que - Muestra aquellos registros cuyos valores son estrictamente
mayores que la condición.
<= Menor o igual que - Devuelve los registros cuyos valores son menores
o iguales a la condición.
>= Mayor o igual que - Devuelve los registros cuyos valores son mayores
o iguales a la condición.
<> Distinto de - Sólo muestra aquellos registros que tienen valores
distintos a la condición.
Condiciones OR/AND en la cláusula WHERE
Al igual que ocurre con las consultas en el modo Diseño, mediante sentencias SQL también
puedes utilizar los operadores Y (AND) y O (OR) y por supuesto, no se ve alterada su lógica de
funcionamiento.
– Mostrar los nombres y apellidos de los que sean extremeños.
– Mostrar los nombres y apellidos de los que no sean extremeños.
– Mostrar los nombres y apellidos de los extremeños que han elegido un servicio de
GOOGLE INC. Como correo electrónico.
– Mostrar los nombre y apellidos de los no extremeños que cuenten con un correo
electronico de una empresa de Microsoft.
5. Ordenar registros, cláusula ORDER BY
Otro aspecto importante cuando diseñas consultas son los criterios de ordenación. Con ellos,
el resultado presentará los datos clasificados de la forma que necesites en cada caso. En SQL la
cláusula dedicada a este fin se denomina ORDER BY y debes situarla después de todos los campos
de filtrados asociados a la cláusula WHERE.
Por ejemplo, ordenar por apellidos un listado con los usuarios que no sean de Badajoz.
Si no se especifica nada se trata de una ordenación ascendente. Para poder especificarlo
habría que hacer lo siguiente:
WHERE PROVINCIA <> 'Badajoz' ORDER BY APELLIDOS ASC (Ascendente)
WHERE PROVINCIA <> 'Badajoz' ORDER BY APELLIDOS DESC (Descendente)