Sei sulla pagina 1di 17

SQL

Structured Query Language

Giglia Gómez Villouta


Escuela de Ingeniería Industrial
Ingeniería Civil Industrial
SQL
• El lenguaje SQL, es el más universal en los sistemas de base
de datos. Este lenguaje nos permite gestionar la base de
dato para mostrar, insertar, actualizar y borrar datos.
• Se trata de un lenguaje definido por el estándar ISO/ANSI
SQL que utilizan los principales fabricantes de Sistemas de
Gestión de Bases de Datos Relacionales.
• En los lenguajes de alto nivel, existen los lenguajes
procedimentales de tercera generación en donde se deben
especificar todos los pasos que hay que dar para conseguir
el resultado (programación). Sin embargo en SQL tan solo
debemos indicar al SGDB qué es lo que queremos obtener,
y el sistema decidirá cómo obtenerlo.
Estructura para Modelamiento de BD
SGBD
• Un Sistema de Gestión de Bases de Datos (SGBD) es una aplicación
comercial que permite construir gestionar bases de datos, proporcionando
al usuario de la Base de Datos las herramientas necesarias para realizar, al
menos, las siguientes tareas:
• Definir las estructuras de los datos.
• Manipular los datos. Es decir, insertar nuevos datos, así como modificar,
borrar y consultar los datos existentes.
• Mantener la integridad de la información.
• Proporcionar control de la privacidad y seguridad de los datos en la Base de
Datos, permitiendo sólo el acceso a los mismos a los usuarios autorizados.
• La herramienta más difundida para realizar todas estas tareas es el lenguaje
SQL.

• Algunos de los productos comerciales más difundidos son:


– ORACLE de Oracle Corporation.
– DB2 de I.B.M. Corporation
– SYBASE de Sybase Inc.
– Informix de Informix Software Inc.
– SQL Server de Microsoft Corporation.
Consultas en SQL
• Todos los principales SGBDR (Relacional) incorporan un
motor SQL en el Servidor de Base Datos, así como
herramientas de cliente que permiten enviar comandos
SQL para que sean procesadas por el motor del
servidor. De esta forma, todas las tareas de gestión de
la Base de Datos (BD) pueden realizarse utilizando
sentencias SQL.
– ‚Consultar datos de la Base de Datos.
– ‚Insertar, modificar y borrar datos.
– ‚Crear, modificar y borrar objetos de la Base de Datos.
– ‚Controlar el acceso a la información.
– ‚Garantizar la consistencia de los datos.
Tipos de Sentencias
• Entre los trabajos que se pueden realizar en una base de datos podemos
distinguir dos tipos: definición y manipulación de datos. Por ello se
distinguen dos tipos de sentencias SQL:
• Sentencias de manipulación de datos. (Lenguaje de Manipulación de
Datos
• DML). Se utilizan para:
– Recuperar información. (SELECT)
– Actualizar la información:
– Añadir filas (INSERT)
– Eliminar filas (DELETE)
– Modificar filas (UPDATE)
• Sentencias de definición de datos. (Lenguaje de Definición de Datos DDL).
Se utilizan para:
– Crear objetos de base de datos (CREATE)
– Eliminar objetos de base de datos (DROP)
– Modificar objetos de base de datos (ALTER)
Claúsulas
• Cláusula
• 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 Utilizada para separar los registros
seleccionados en grupos específicos
• ORDER BY Utilizada para separar organizar los registros
seleccionados en orden de acuerdo a un criterio.
• HAVING Utilizada para expresar la condición que debe
satisfacer cada grupo
Operadores lógicos y de comparación
• AND Es el "y" lógico. Evalua dos condiciones y devuelve un valor de verdad sólo
si ambas son ciertas.
• OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdar si
alguna de las dos es cierta.
• NOT Negación lógica. Devuelve el valor contrario de la expresión.

• < Menor que


• > Mayor que
• <> Distinto de
• <= Menor ó Igual que
• >= Mayor ó Igual que
• = Igual que
• BETWEEN Utilizado para especificar un intervalo de valores.
• LIKE Utilizado en la comparación de un modelo
• In Utilizado para especificar registros de una base de datos
Estrucutra de una consulta general
• <DML o DDL> datos<claúsula> datos
<operadores>
• Ej:
• SELECT Nombre, Telefono FROM Clientes;
• SELECT CodigoPostal, Nombre, Telefono FROM
Clientes ORDER BY Nombre;
Consultas de Predicado
• ALL Devuelve todos los campos de la tabla
• TOP Devuelve un determinado número de
registros de la tabla
• DISTINCT Omite los registros cuyos campos
seleccionados coincidan totalmente
• DISTINCTROW Omite los registros duplicados
basándose en la totalidad del registro y no
sólo en los campos seleccionados.
Ejemplos
• SELECT ALL FROM Empleados;
• SELECT * FROM Empleados;
• SELECT TOP 25 Nombre, Apellido FROM Estudiantes
ORDER BY Nota DESC;
• SELECT * FROM Empleados WHERE Edad > 25 AND
Edad < 50;
• SELECT * FROM Empleados WHERE NOT Estado =
'Soltero';
• SELECT * FROM Empleados WHERE (Sueldo > 100 AND
Sueldo < 500) OR (Provincia = 'Madrid' AND Estado =
'Casado');
Consultas Join (Unión)
• Existe la forma de consultar sobre un conjunto de
registros de una tabla cuyo filtro de selección se
encuentra en otra relacionada.
• SELECT campos FROM tb1 INNER JOIN tb2 ON
tb1.campo1 comp tb2.campo2
• Ejemplo:

SELECT Nombre_Categoría, NombreProducto


FROM Categorias INNER JOIN Productos ON
Categorias.IDCategoria = Productos.IDCategoria;
Operadores de comparación
• < Menor que
• > Mayor que
• <> Distinto de
• <= Menor ó Igual que
• >= Mayor ó Igual que
• = Igual que
• BETWEEN Utilizado para especificar un intervalo de
valores.
• LIKE Utilizado en la comparación de un modelo
• In Utilizado para especificar registros de una base de
datos
Funciones de Agregado
• AVG Utilizada para calcular el promedio de los
valores de un campo determinado
• COUNT Utilizada para devolver el número de
registros de la selección
• SUM Utilizada para devolver la suma de todos los
valores de un campo determinado
• MAX Utilizada para devolver el valor más alto de
un campo especificado
• MIN Utilizada para devolver el valor más bajo de
un campo especificado
Consultas Join
• También en el filtro de los campos entre varias
tablas pueden incluirse varios criterios:

• SELECT campos FROM tabla1 INNER JOIN


tabla2 [(ON tb1.campo1 comp tb2.campo1
AND ON tb1.campo2 comp tb2.campo2) OR
ON tb1.campo3 comp tb2.campo3)];
Ejemplos consultas Join y funciones
• SELECT cliente.nombre, direccion FROM (cliente INNER
JOIN visita ON cliente.rut=visita.r) INNER JOIN
propiedad ON visita.cod_p=propiedad.numero;
• SELECT cliente.nombre, direccion FROM (cliente INNER
JOIN visita ON cliente.rut=visita.r) INNER JOIN
propiedad ON visita.cod_p=propiedad.numero WHERE
(propiedad.tipo='casa');
• SELECT Count(cliente.nombre) FROM propiedad INNER
JOIN (cliente INNER JOIN visita ON cliente.rut = visita.r)
ON propiedad.numero = visita.cod_p WHERE
(((propiedad.tipo)='casa'));

Potrebbero piacerti anche