Click here to load reader
Upload
cesar-david-fernandez-grueso
View
5.683
Download
0
Embed Size (px)
Citation preview
SQL(Structured Query Language)
CESAR DAVID FERNANDEZ GRUESO
“Un lenguaje de consulta al servicio de las Bases de Datos”
SENA Regional CaucaCENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL
TECNICO EN PROGRAMACION DE SOFTWARE
Vigencia 2009 - 2010
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
DEFINICION
SQL es una herramienta para organizar, gestionar y recuperar datos almacenados en
una base de datos informática. Por lo tanto permite interactuar con la Base de Datos.
SQL es a la vez un lenguaje fácil de aprender y una herramienta completa para gestionar
datos. Las peticiones sobre los datos se expresan mediante sentencias, que deben
escribirse de acuerdo con unas reglas sintácticas y semánticas de este lenguaje.
Es un lenguaje estándar por haberse visto consolidado por el Instituto Americano de
Normas (ANSI) y por la Organización de Estándares Internacional (ISO).
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
DEFINICION
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
ACLARACION
“PARA ESTA ORIENTACION PRESENCIAL SOLO
VEREMOS LAS SENTENCIAS DE TIPO DML DEL
LENGUAJE SQL. EL CUAL SERAN INVOCADAS
DESDE VISUAL BASIC .NET PARA CONECTAR
LOS FORMS CON EL MOTOR DE BASE DE
DATOS MICROSOFT SQL SERVER 2005. EL
ESQUEMA DE LAS TABLAS Y RELACIONES SE
CREARAN DIRECTAMENTE CON LA
HERRAMIENTA MICROSOFT SQL SERVER
MANAGEMENT STUDIO ”
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
OPERANDOS
OPERANDO DESCRIPCION
= Igual.
<> Diferente.
> Mayor que.
< Menor que.
>= Mayor igual que.
<= Menor igual que.
. Punto. (Para referenciar el campo de una tabla) Ej.
Proyecto. Codigo
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA SELECT
SELECT * FROM proyecto ( Consulta todos los campos y registros de latabla proyecto).
SELECT codigo, nombre FROM proyecto (Consulta solo el codigo y elnombre de los proyectos registrados en la tabla proyecto ).
SELECT DISTINCT nombre FROM proyecto (DISTINCT elimina las filaso registros duplicados del resultado de la consulta).
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA SELECTFUNCIONES DE AGRUPAMIENTO
SELECT COUNT(nombre) FROM integrante (Consulta el numero deintegrantes).
SELECT COUNT(DISTINCT nombre) FROM integrante (Consulta elnumero de integrantes eliminando los nombres repetidos).
SELECT SUM(presupuesto) FROM proyecto (hace una sumatoria detodos los valores almacenados en el campo presupuesto).
SELECT AVG(presupuesto) FROM proyecto (Obtiene el promedio detodos los valores almacenados en el campo presupuesto).
SELECT MAX(presupuesto) FROM proyecto (Obtiene el mayor valor dela columna presupuesto).
SELECT MIN(presupuesto) FROM proyecto (Obtiene el menor valor dela columna presupuesto).
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA SELECTWHERE
SELECT * FROM proyecto WHERE nombre = „redes datos‟ (Consultatodos los proyectos cuyo nombre sea redes datos).
SELECT nombre FROM proyecto WHERE presupuesto > 3000000(Consulta el nombre de los proyectos cuyo presupuesto sea mayor a$3‟000.000).
SELECT nombre FROM integrante WHERE fecha_nac <= „01/06/1990‟(Consulta el nombre de los integrantes cuya fecha de nacimiento seamayor igual a 01/06/1990).
SELECT nombre FROM integrante WHERE fecha_nac <= „01/06/1990‟AND institución = „SENA‟ (Consulta el nombre de los integrantes cuyafecha de nacimiento sea mayor igual a 01/06/1990 y además, estudian enel SENA).
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA SELECTUNION
SELECT nombre FROM ascesor UNION SELECT nombre FROMintegrante (Devuelve en una sola columna los nombres de los asesoresde proyectos y los nombres de los integrantes. “omite los valoresrepetidos”)
Si se le agrega la instrucción: ALL , no omite los valores repetidos.
nombre telefono
Cesar 5775
Pablo 8787
Sofía 5646
nombre telefono
Doris 9867
Paola 3456
Jose 2442
Asesor Integrante
UNION
nombre
Cesar
Doris
José
Pablo
Paola
Sofía
=
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA SELECTORDER BY
SELECT nombre, apellido FROM integrante ORDER BY fecha_nacDESC (Consulta los nombres y apellidos de los integrantes ordenados demayor a menor edad)
Si no se coloca DESC por defecto los ordena de forma ascendente.
SELECT nombre, fecha_inicio FROM proyecto ORDER BYpresupuesto (Consulta los proyectos ordenados de menor a mayorpresupuesto)
SELECT nombre, teléfono FROM integrante ORDER BY teléfonoDESC (Consulta los nombres y teléfonos de los integrantes ordenados pornumero telefónico en forma descendente)
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA SELECTINNER JOIN
INNER JOIN: Permite generar consultas entre tablas relacionadas.
SELECT integrante.nombre, proyecto.nombre FROM proyecto INNER
JOIN integrante ON proyecto.ID_proyecto = integrante.id_proyecto.
(Consulta los integrantes de cada proyecto)
SELECT integrante.nombre, proyecto.nombre FROM proyecto INNER
JOIN integrante ON proyecto.ID_proyecto = integrante.id_proyecto
WHERE proyecto.ID_proyecto = 111(Consulta únicamente los integrantes
del proyecto con codido: 111)
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA INSERT
Permite añadir registros a una tabla especifica.
INSERT INTO proyecto (ID_proyecto, Nombre) VALUES (7755, „Diseño
Web‟) : Si se van a insertar algunos valores de un registro se deben
especificar después del nombre de la tabla los campos a añadir en el registro.
En este caso no se adiciono la Fecha al nuevo registro creado.
INSERT INTO proyecto VALUES (7755, „Diseño Web‟, „05/07/2010‟) : Si se
van a insertar TODOS los valores de un registro no es necesario colocar los
nombres de los campos depues del nombre de la tabla.
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA UPDATE
Permite modificar los valores de un registro.
UPDATE proyecto SET Fecha = „04/09/2010‟ WHERE ID_proyecto =
4412. Modificar la fecha del proyecto con ID: 4412.
UPDATE proyecto SET presupuesto = 25000000 WHERE Fecha >=
„01/07/2010‟ . Modificar el presupuesto a 25‟000.000 de aquellos proyectos
que inicien en una fecha mayor o igual a 01/07/2010.
UPDATE proyecto SET presupuesto = 25000000 WHERE Fecha
BETWEEN „01/07/2010‟ AND „09/07/2011‟. Modificar el presupuesto a
25‟000.000 de aquellos proyectos cuyas fechas de inicio están comprendidas
entre 01/07/2010 a 09/07/2011.
UPDATE proyecto SET Fecha = „04/09/2010‟ WHERE ID_proyecto =
4412 OR ID_proyecto = 5512. Modificar la fecha del proyecto con ID: 4412 o
5512.
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CLAUSULA DELETE
La sentencia DELETE se utiliza para borrar registros de una tabla de la base
de datos.
DELETE FROM integrante WHERE ID_integrante = 1122. Eliminar el
integrante cuyo ID sea igual a 1122.
DELETE FROM proyecto WHERE Fecha BETWEEN „01/05/2010‟ AND
‟01/07/2010‟. Eliminar los proyectos que poseen fecha de inicio comprendida
entre „01/05/2010 a 01/07/2010‟
DELETE FROM integrante WHERE ID_proyecto = 1823. Eliminar los
integrantes del proyecto cuyo ID es 1823.
MUCHAS GRACIASPROXIMAMENTE CONEXIÓN DE VISUAL BASIC .NET CON SQL SERVER
INQUIETUDES O DUDAS ?
Ing. Cesar David Fernández Grueso.
CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL
SENA REGIONAL CAUCA