Sql basico

Preview:

DESCRIPTION

sql

Citation preview

1

Alberto Ruizwww.albertoruiz.es

SQL Básico para

Aplicaciones Educativas

2

Elementos de la base de datos

TABLA: Estructura de datos con información homogénea. Se compone de filas y columnas

Una base de datos relacional es un conjunto de tablas relacionadas entre sí.

3

Elementos de la base de datos

TABLA

Registros

Campos

4

Lenguaje SQL

¿Para qué sirve?

SELECT INSERTUPDATEDELETEDROP

El único inofensivo es SELECT

5

Introducir consultas SQL

Escuela Consultas > Nueva > Experto

IES2000 F8

6

Nombres de las Tablas

Escuela Consulta > Nueva > Guiado

IES2000 F6

7

La consulta más sencilla

Consultar a una tabla SELECT * FROM ALUMNOS

Coger solo ciertos campos SELECT Nombre+" "+Apellidos FROM ALUMNOS

Pedro es de Lerma (Burgos)

8

Filtrando registros con WHERE

Sin WHERE, coge todos los registrosCon WHERE puedo coger aquellos que

cumplan ciertas condiciones

SELECT * FROM ALUMNOS WHERE Localidad = ‘Burgos’ AND Fecha_Nacimiento > {06/30/1990} (en IES2000)

SELECT * FROM ALUMNOS WHERE Loca = ‘Burgos’ AND F_Naci > “06/30/1990” (en Programa Escuela)

9

Ordenando

ORDER BY permite ordenar alfabéticamente por campos

SELECT * FROM ALUMNOS WHERE Localidad = ‘Burgos’ AND Fecha_Nacimiento > {06/30/1990} ORDER BY Localidad DESC, Apellidos, Nombre

10

IN

La cláusula IN permite especificar una lista en una cláusula WHERE

SELECT * FROM ALUMNOS WHERE Localidad IN (‘Burgos’, ‘Lerma’,’Briviesca’)

11

Subconsultas

Permiten crear una lista para una cláusula IN mediante una consulta

SELECT * FROM alumnos WHERE matricula IN (SELECT matricula FROM matricul WHERE anno=2007)

12

Consultas a dos tablas

Una consulta a dos tablas da como resultado el producto de ambas

El producto de dos tablas es otra tabla con todos los campos de las dos tablas, repitiendo la segunda tabla tantas veces como registros tiene la primera.

Es necesario filtrar con WHERE por un campo común a ambas tablas.

IES2000: SELECT nombre, grupo FROM alumnos,matricul WHERE alumnos.matricula=matricul.matricula and anno=2007

13

Ejemplos 2 tablas IES2000

Docentes actuales SELECT nombre FROM profesor, docentes

WHERE profesor.codigo=docentes.codigo AND docentes.anno=2007

Alumnos de 2CSELECT nombre, grupo FROM alumnos, matricul

WHERE alumnos.matricula=matricul.matricula AND matricul.grupo='2C' and matricul.anno=2007

14

Ejemplos 2 tablas IES2000

Notas finales de 2CSELECT matricul.matricula, grupo, materia,nota

FROM matricul, notas WHERE matricul.matricula=notas.matricula AND matricul.grupo='2C' and notas.evaluacion='F' and notas.anno=2007 and matricul.anno=2007

15

Funciones agregadas

COUNTSUMAVGMAXMIN

GROUP BYHAVING

16

Ejemplos F. agregadas IES2000

Número de alumnos por localidad

SELECT localidad_nacimiento, COUNT (localidad_nacimiento) FROM alumnos GROUP BY localidad_nacimiento HAVING COUNT(localidad_nacimiento)>3 ORDER BY COUNT(localidad_nacimiento) DESC

Nota media de un alumnoSELECT AVG(VAL(nota)) FROM notas WHERE

anno=2007 AND evaluacion='F' AND matricula=671

17

Ejemplos Funciones agregadas

Calcular la edad de un alumnoCalcular la media de la edad de los

alumnosContar el número de alumnos

extranjerosContar el número de alumnos mayores

de edadContar el número de alumnos de un

grupo con tres o más suspensos

18

Exportar a Excel

Escuela Icono disquete > Tipo XLS

IES2000 Exportar > Paradox

19

Ejemplos de consultas

Escuela Consultas > Existentes

IES2000 F8 > Vista tab

20

Vincular correspondencia

Exportar a Excel o AccessEn Word

Mostrar barra ‘Combinar Correspondencia’ Abrir origen de datos Insertar campos combinados

21

Tablas Principales IES2000

ALUMNOSMATRICULNOTAS IMPARTEHORARIOSGRUPOSFALTASALPROFESORDOCENTESMATERIAS

22

Tablas Principales ESCUELA

Alumnos / halumnosProfedg / hprofedgHistóricas comienzan por h Listas comienzan por l