15

Click here to load reader

Sql

Embed Size (px)

Citation preview

Page 1: Sql

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

Page 2: Sql

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).

Page 3: Sql

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

DEFINICION

Page 4: Sql

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 ”

Page 5: Sql

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

Page 6: Sql

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).

Page 7: Sql

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).

Page 8: Sql

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).

Page 9: Sql

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

=

Page 10: Sql

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)

Page 11: Sql

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)

Page 12: Sql

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.

Page 13: Sql

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.

Page 14: Sql

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.

Page 15: Sql

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