Professional Documents
Culture Documents
STRUCTURE
QUERY
LANGUAGE
Ing. Wiler Arturo Ponce Benites
Facultad de Ingenieria Industrial - UNMSM
2018
S Q L
Contenido:
➢ Consultas de Selección
➢ Criterios de Selección
➢ Agrupamiento de registros
➢ Consultas de eliminación
SQL: Structure Query Language
➢ El lenguaje de consultas estructurado SQL, es un
lenguaje de base de datos normalizado, utilizado por
el motor de base de datos de Microsoft Jet.
❑ DDL
DATA DEFINITION LANGUAGE
❑ DML
DATA MANIPULATION LANGUAGE
Comandos DDL
Los DDL que permiten crear y definir
nuevas bases de datos, campos e
índices, procedimientos almacenados y
funciones.
Comando Descripción
Utilizado para crear nuevas Base de datos, tablas, campos e índice,
CREATE
procedimientos almacenados
Empleado para eliminar: base de datos tablas, índices
DROP
procedimientos almacenados.
Utilizado para modificar: base de datos, tablas: agregando o
ALTER cambiando la definición de los campos , índices, procedimientos
almacenados.
7
-- Tabla carrera
CREATE TABLE carrera
(
clave_c int,
nomc varchar(50),
duracion_c float,
constraint pc_cc primary key(clave_c)
)
GO
-- Tabla materia
CREATE TABLE materia
(
clave_m int,
nom_m varchar(50),
cred_m float,
constraint pl_cm primary key (clave_m)
)
GO
-- Tabla PROFESOR
CREATE TABLE profesor
(
clave_p int,
nom_p varchar(150),
dir_p varchar(200),
tel_p varchar(15),
Hor_p varchar(10),
constraint pk_cp primary key(clave_p)
)
GO
-- 2.- Sigue la tabla que tienE llave primaria y llave foranea, en
este caso la tabla alumno
-- Tabla alumno
CREATE TABLE alumno
(
mat_alu int,
nom_alu varchar(150),
edad_alu int,
sem_alu int,
gen_alu varchar(10),
clave_c1 int,
constraint pk_calu primary key(mat_alu),
constraint fk_fc foreign key (clave_c1) references carrera(clave_c)
)
GO
-- 3.- Creacion la tablas relacionales
-- Tabla Alumno-Profesor
create table alumno_profesor
(
mat_alu1 int,
clave_p1 int,
constraint fk_falu1 foreign key(mat_alu1)
references alumno(mat_alu),
constraint fk_fp1 foreign key(clave_p1)
references profesor(clave_p)
)
GO
-- Tabla: Materia-Profesor
create table materia_profesor
(
clave_m2 int,
clave_p2 int,
constraint fk_fm2 foreign key (clave_m2)
references materia(clave_m),
constraint fk_fp2 foreign key (clave_p2)
references profesor(clave_p)
)
GO
-- Tabla: Materia-Alumno
create table materia_alumno
(
clave_m1 int,
clave_alu2 int
constraint fk_fm1 foreign key (clave_m1)
references materia(clave_m),
constraint fk_falu2 foreign key (mat_alu2)
references alumno (mat_alu)
)
GO
20
USE master
GO
USE Autoseguro
GO
ALTER TABLE Beneficiarios
ADD FOREIGN KEY (idTitular)
REFERENCES Titular
GO
Visualizar el Diagrama de Relaciones
Como resultado se
obtiene el diagrama
de relaciones, tal
como se aprecia en
al siguiente imagen
➔
Eliminar una tabla con restricciones
Operador Descripción
Operador Uso
< Menor que
> Mayor que
<> Distinto que
<= Menor o igual que
>= Mayor o igual que
= Igual que
Utilizado para especificar un intervalo de
BETWEEN
valores
LIKE Utilizado en la comparación de un modelo
Utilizado para especificar registros de una base
In
de datos.
Funciones de Agregado
Las funciones de agregado se usan dentro de una
cláusula SELECT en grupos de registros para
devolver un único valor que se aplica a un grupo
de registros.
Función Descripción
Utilizado para calcular el promedio de los valores de
AVG
un campo determinado.
Utilizada para devolver el número de registros de una
COUNT
selección.
Utilizada para devolver la suma de todos los valores
SUM
de un campo determinado.
Utilizada para devolver el más alto valor de un campo
MAX
especificado.
Utilizada para devolver el más bajo valor de un
MIN
campo especificado.
Ordenar Registros
En predicado se incluye entre la clausula y el
primer nombre del campo a recuperar.
Predicado Descripción
Y lógico
Verdad AND Verdad Verdad
Operadores lógicos FALSO AND Verdad FALSO
Tablas de verdad
FALSO AND FALSO FALSO
Verdad OR FALSO Verdad
O lógico
Verdad OR Verdad Verdad
FALSO OR Verdad Verdad
FALSO OR FALSO FALSO
Verdad XOR Verdad FALSO
O exclusivo
Verdad XOR FALSO Verdad
FALSO XOR Verdad Verdad
FALSO XOR FALSO FALSO
Verdad Eqv Verdad Verdad
Equivalencia
LIKE ‘P%###’
LIKE '[A-D]%’
El operador In
Este operador devuelve aquello registros cuyo campo
indicado coincide con alguno de los de una lista.
Su sintaxis es:
Expresión [Not] In (Valor1, Valor2,…)
Su sintaxis es:
SELECT * FROM Orders WHERE ShipCity
In (‘Reims’, ‘Munster’, ‘Río de Janeiro’)
El operador In
SELECT Destinatario, FechaPedido, FechaEntrega,
PaísDestinatario
FROM Pedidos
WHERE PaísDestinatario In ('Irlanda', 'Venezuela', 'Río
de Janeiro')
ORDER BY Destinatario DESC
IMPORTANCIA:
➢ Es el lenguaje más extendido.
➢ Estandarizado.
COMPONENTES:
➢ Un lenguaje de definición de datos (DDL).
➢ Un lenguage de manipulación de datos (DML).
28
El lenguaje SQL: manipulación de datos
ACCIONES BÁSICAS:
✓ Consulta de información: sentencias SELECT
✓ Inserción de información: sentencias INSERT
✓ Actualización de información: sentencias UPDATE
✓ Eliminación de información: sentencias DELETE
CONSULTAS BÁSICAS:
SELECT atributos FROM tablas WHERE condiciones ORDER BY atributos
Ejemplo:
SELECT * FROM TablaClientes WHERE dni=32777555 ORDER BY nombre
29
El lenguaje SQL: manipulación de datos (II)
PALABRAS RESERVADAS:
SELECT: especifica las columnas (atributos) que se quieren consultar.
DISTINCT: indica que no deben aparecir filas repetidas en el resultado:
p. ej: SELECT DISTINCT nombre, apellido
FROM: especifica las tablas que se van a utilizar (1 ó varias)
p. ej: FROM TablaClientes, TablaUsuarios, TablaSalarios
WHERE: elimina las filas que no cumplen las condiciones especificadas.
p. ej: WHERE edad>25 AND ciudad=‘Lugo’ AND comentario IS NOT NULL
ORDER BY: indica los atributos que determinan el orden del resultado.
p. ej: ORDER BY edad ASC, sueldo DESC, hijos
30
El lenguaje SQL: manipulación de datos (III)
FUNCIONES AGREGADAS:
COUNT: devuelve el número de filas que responden a las condiciones
SELECT COUNT (sueldo) FROM TablaSueldos
SUM: devuenve la suma del atributo seleccionado
SELECT SUM (salario) WHERE dni=32876543
MAX (MIN): devuelve el máximo (mínimo) del campo seleccionado
SELECT MAX (edad) WHERE salario>2000
AVG: devuelve el promedio de una columna determinada
SELECT AVG(edad);
31
El lenguaje SQL: manipulación de datos (III)
FUNCIONES AGREGADAS:
COUNT: devuelve el número de filas que responden a las condiciones
SELECT COUNT (sueldo) FROM TablaSueldos
SUM: devuenve la suma del atributo seleccionado
SELECT SUM (salario) WHERE dni=32876543
MAX (MIN): devuelve el máximo (mínimo) del campo seleccionado
SELECT MAX (edad) WHERE salario>2000
AVG: devuelve el promedio de una columna determinada
SELECT AVG(edad)
31
El lenguaje SQL: manipulación de datos (III)
JOIN SIMPLE:
SELECT TablaClientes.nombre, TablaTelefonos.telefono
FROM TablaClientes, TablaTelefonos
WHERE TablaClientes.dni=TablaTelefonos.dni
32
El lenguaje SQL: manipulación de datos (IV)
33
El lenguaje SQL: manipulación de datos (V)
34
El lenguaje SQL: manipulación de datos (VI)
INSERCIÓN DE VALORES:
ACTUALIZACIÓN DE VALORES:
35
El lenguaje SQL: manipulación de datos (VII)
ELIMINACIÓN DE VALORES:
filas seleccionadas:
DELETE from TablaEmpleados WHERE dni = 33777888
36
El lenguaje SQL: definición de datos
DATE (fecha)
37
El lenguaje SQL: definición de datos
http://www.mailxmail.com/curso-sql
38