consultas

5
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', '[email protected]','Cáceres')

Upload: eduenlasiberia

Post on 17-Jan-2017

354 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Consultas

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 seriede 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_UsuariosVALUES ('00000000-A','Jéssica','Carrillo Cánovas','Calle Mayor 1','927000000','[email protected]','Cáceres')

Page 2: Consultas

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','[email protected]','Cáceres') ('11111111-B','Matilde','Castillo Ortíz','Plaza de España S/N','924111111','[email protected]','Badajoz')('10101010-Z','Rocío','Ojeda Gálvez','Gran Vía 12','927998877','[email protected]','Cáceres')('22222222-C','Inma','Cherbal Castejón','Calle General Mola 12','924222222','[email protected]','Badajoz')('33333333-D','Juan Antonio','Lajarín Tornel','Paseo Alfonso XIII 25','924333333','[email protected]','Badajoz')('44444444-E','Genoveva','Maldonado Jiménez','Av. San Juan de la cruz 1','924444444','[email protected]','Badajoz')('55555555-F','Carolina','Mármol Fernández','Calle princesa 8','927555555','[email protected]','Cáceres') ('66666666-G','Ana','Navarro Sánchez','Calle Cartagena 26','924666666','[email protected]','Badajoz')('77777777-H','Borja','Giménez Belmonte','Paseo de Florencia 7','924777777','[email protected]','Badajoz')('88888888-I','Belén','Girauta Benitez','Paseo de Ciruela 12','926220073','[email protected]','Ciudad Real')('99999999-J','Alex','Gordillo Serrano','Calle de Toledo17','926217706','[email protected]','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:

Page 3: Consultas

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'

Page 4: Consultas

… 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.

Page 5: Consultas

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)