You are on page 1of 22

BASE DE DATOS

SQL
Structured Query Language
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Objetivos
Conocer los alcances y objetivos de SQL
Conocer las sentencias declarativas del lenguaje de consulta
estructurado para manipular la base de datos.
Aplicar las sentencias declarativas de manipulacin en la
obtencin de resultados esperados dada una base de datos
determinada.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Objetivo de SQL
SQL, es un lenguaje estandarizado por ISO para la creacin de
consultas a gestores de bases de datos relacionales.
El principal objetivo de SQL, adems de permitir el acceso a
datos, es otorgar interoperabilidad entre distintos gestores de
bases de datos.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Caracterstica de SQL
Declarativo, esto significa que el programador debe indicarle
(declarar) al sistema lo que desea obtener, en lugar de
enumerar los pasos que deben efectuarse para obtenerlo.
En SQL no existen constructos tpicos de otros lenguajes como
IF, FOR, WHILE, etc.
Las cuatro sentencias principales de SQL son SELECT,
INSERT, UPDATE y DELETE, que permiten respectivamente
obtener, ingresar, actualizar y eliminar datos de la base de
datos.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Comandos de SQL
DDL, lenguaje de definicin de datos.
Soportan la definicin y declaracin de los objetos de la base de
datos.
Objetos como la base de datos (DATABASE), tablas (TABLE),
vistas (VIEW), ndices (INDEX), procedimientos almacenados
(PROCEDURE), disparadores (TRIGGER). Reglas (RULE),
dominios (DOMAIN) y valores por defecto (DEFAULT).
CREATE, ALTER Y DROP
DML, lenguaje de manipulacin de datos
DCL, lenguaje de control de datos
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Comandos de SQL
DDL, lenguaje de definicin de datos.
DML, lenguaje de manipulacin de datos
Sentencias para manipular los datos que estn almacenados en
las bases de datos, a nivel de filas (tuplas) y/o columnas
(atributos). Ya sea para modificarlos, eliminarlos, consultarlos o
agregar nuevas filas a las tablas de la base de datos.
INSERT, UPDATE, DELETE y SELECT
DCL, lenguaje de control de datos
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Comandos de SQL
DDL, lenguaje de definicin de datos.
DML, lenguaje de manipulacin de datos
DCL, lenguaje de control de datos
Sentencias para controlar las funciones de administracin que
realiza el SGBD, tales como atomicidad y seguridad.
COMMIT TRANSACTION, ROLLBACK TRANSACTION, GRANT,
REVOKE
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Componentes del SQL


El lenguaje SQL est compuesto por comandos, clusulas,
operadores y funciones de agregado.
Estos elementos se combinan en las instrucciones para crear,
actualizar y manipular las bases de datos.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Comandos DDL

Comando Descripcin
CREATE Utilizado para crear nuevas tablas, campos e ndices.
DROP Empleado para eliminar tablas e ndices.
ALTER Utilizado para modificar las tablas agregando campos o
cambiando la definicin de los campos.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Comandos DML

Comando Descripcin
SELECT Utilizado para consultar registros de la base de datos que
satisfagan un criterio determinado.
INSERT Utilizado para cargar lotes de datos en la base de datos en
una nica operacin.
UPDATE Utilizado para modificar los valores de los campos y
registros especificados.
DELETE Utilizado para eliminar registros de una tabla de una base
de datos.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Clusulas

Clusula Descripcin
FROM Utilizada para especificar la tabla de la cual se van a
seleccionar los registros.
WHERE Utilizada para especificar las condiciones que deben reunir
los registros que se van a seleccionar.
GROUP BY Utilizado separar los registros seleccionados en grupos
especficos.
HAVING Utilizada para expresar la condicion que debe satisfacer
cada grupo.
Alejandra Acua V.

ORDER BY Utilizada para ordenar los registros seleccionados de


acuerdo con un orden especfico.

Base de Datos
BASE DE DATOS

Operadores Lgicos

Operador Descripcin
AND Es el Y lgico. Evala dos condiciones y devuelve
verdadero slo si ambas son ciertas.
OR Es el O lgico. Evala dos condiciones y devuelve
verdadero si alguna de los dos es cierta.
NOT Negacin lgicas. Devuelve el valor contrario de la
expresin.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Operadores de comparacin

Operador Descripcin
< Menor que
> Mayor que
<> Distinto de
<= Menor o Igual que
>= Mayor o Igual que
= Igual que
BETWEEN Utilizado para especificar un intervalo de valores
Alejandra Acua V.

LIKE Utilizado en la comparacin de un modelo


IN Utilizado para especificar registros de una base de datos
Base de Datos
BASE DE DATOS

Funciones de agregado

Funcin Descripcin
AVG Utilizado para calcular el promedio de los valores de un
campo determinado.
COUNT Utilizado para devolver el nmero de registros de la
seleccin.
SUM Utilizado para devolver la suma de todos los valores de un
campo determinado.
MAX Utilizado para devolver el valor ms alto de un campo
especificado.
Alejandra Acua V.

MIN Utilizado para devolver el valor ms bajo de un campo


especificado.

Base de Datos
BASE DE DATOS

Consultas con predicado

Predicado Descripcin
ALL Devuelve todos los campos de la tabla (por defecto).
TOP Devuelve un nmero determinado de registros de la
tabla.
DISTINCT Omite los registros cuyos campos seleccionados
coincidan totalmente
DISTINCTROW Omite los registros duplicados basndose en la totalidad
del registro y no solo en los campos selecionados.
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Ejemplos
SELECT Nombre, Telefono FROM Clientes;
Esta consulta devuelve los campos nombre y telfono de la tabla
clientes.

SELECT CodigoPostal, Nombre, Telefono FROM Clientes


ORDER BY Nombre;
Esta consulta devuelve los campos CodigoPostal, Nombre,
Telfono de la tabla Clientes ordenados por el campo Nombre.
Alejandra Acua V.

SELECT CodigoPostal, Nombre, Telefono FROM Clientes


ORDER BY CodigoPostal DESC , Nombre ASC;
Base de Datos
BASE DE DATOS

Ejemplos
SELECT TOP 25 Nombre, Apellido FROM Estudiantes ORDER
BY Nota DESC;
Recupera los nombres de los 25 primeros estudiantes con nota
superior. Si no se ordena, el conjunto ser arbitrario. Si hay dos
notas iguales devolver 26 registros.

SELECT DISTINCT Apellido FROM Empleados;


Slo apellidos distintos.
SELECT DISTINCTROW Apellido FROM Empleados;
Alejandra Acua V.

Slo apellidos distintos, si en la tabla Empleados el registro


completo es distinto.

Base de Datos
BASE DE DATOS

Ejemplos
SELECT Apellidos, Salario FROM Empleados
WHERE Salario > 21000;

SELECT Id_Producto, Existencias FROM Productos


WHERE Existencias <= Nuevo_Pedido;

SELECT * FROM Pedidos WHERE Fecha_Envio = #5/10/94#;


Alejandra Acua V.

SELECT Apellidos, Nombre FROM Empleados


WHERE Apellidos = 'King';
Base de Datos
BASE DE DATOS

Ejemplos
SELECT Apellidos, Nombre FROM Empleados WHERE Apellidos
Like 'S*;

SELECT Apellidos, Salario FROM Empleados WHERE Salario


Between 200 And 300;

SELECT Id_Pedido, Fecha_Pedido FROM Pedidos WHERE


Fecha_Pedido Between #1-1-94# And #30-6-94#;
Alejandra Acua V.

SELECT Apellidos, Nombre, Ciudad FROM Empleados WHERE


Ciudad In ('Sevilla', 'Los Angeles', 'Barcelona');
Base de Datos
BASE DE DATOS

Ejemplos
SELECT Id_Familia, Sum(Stock) FROM Productos GROUP BY
Id_Familia;

SELECT Id_Familia, Sum(Stock) FROM Productos GROUP BY


Id_Familia HAVING Sum(Stock) > 100 AND NombreProducto Like
BOS*;

SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE


Gastos > 100;
Alejandra Acua V.

Base de Datos
BASE DE DATOS

Ejemplos
SELECT * FROM Productos WHERE IDProducto IN (SELECT
IDProducto FROM DetallePedido WHERE Descuento >= 0.25);

SELECT Nombre_Categora, NombreProducto FROM Categorias


INNER JOIN Productos ON Categorias.IDCategoria =
Productos.IDCategoria;

SELECT Nombre_Categora, NombreProducto FROM Categorias,


Productos WHERE Categorias.IDCategoria =
Alejandra Acua V.

Productos.IDCategoria;

Base de Datos
BASE DE DATOS

Ejercicios SQL
Abra el archivo Ejercicios SQL enviado a su correo.
Construya las consultas utilizando las tablas de los archivos:
Tablas para SQL 01
Tablas para SQL 02
Tablas para SQL 03
Tablas para SQL 04
Tablas para SQL 05
Alejandra Acua V.

Base de Datos

You might also like