aprender sql con sql command primera parte

28
PRACTICANDO SQL CON SQL COMMAND PRIMERA PARTE [email protected] Junio 2010 Lima Perú

Upload: mepgkun

Post on 19-Jun-2015

684 views

Category:

Documents


1 download

DESCRIPTION

APRENDER SQL USANDO EL SOFTWARE SQL COMMAND

TRANSCRIPT

Page 1: Aprender SQL Con SQL Command Primera Parte

PRACTICANDO SQL

CON SQL COMMANDPRIMERA PARTE

[email protected]

Junio 2010

Lima Perú

Page 2: Aprender SQL Con SQL Command Primera Parte

INDICEIntroduccionAperturando nuestra base de datos en SQL CommandTrabajando con SQLDeclaracion SELECTDeclaración DISTINCT Clausula WHEREOperadores AND y ORClausula ORDER BYDeclaración INSERT INTODeclaracion UPDATEDeclaracion DELETEClausula TOPEl Operador LIKEOperador INEl operador BETWEENDeclaracion JoinOperador UNION

VOLVER AL INDICE 1

Page 3: Aprender SQL Con SQL Command Primera Parte

INTRODUCCION

Structures Query Language (Lenguaje de consulta estructurado) o SQL es un lenguaje estándar para acceder a bases de datos.

Las principales funciones que cumple SQL son las siguientes :• Crear una base de datos y definir su estructura.• Consultar la base de datos para obtener los datos necesarios para responder

preguntas.• Controlar la seguridad de la base de datos.

SQL es un estándar ANSI (American National Standard Institute), a pesar de ello hay diferentes versiones del lenguaje SQL. Sin embargo estas diferentes versiones, concuerdan en los principales comandos de SQL estándar.

¿Que es un DBMS (Database Management systems)?Un DBMS es un sistema de administración de base de datos, entre los principales de estos sistemas tenemos :MS Access, Ansi SQL, SQL Server, MySQL, IBM DB2 y Oracle 10.Todos ellos se manejan con lenguaje SQL, con algunas variantes del lenguaje SQL entre ellos.

¿Que es SQL Command -Version 1.0 ?SQL Command es un software que nos permite practicar con el lenguaje SQL, sin la necesidad de tener un servidor instalado.Este software nos permite crear sentencias SQL , ejecutar dichas sentencias y mostrarnos su resultado.El software viene con un tutorial incluido lo que permite su fácil aprendizaje.

Aprenderemos el uso de los comandos principales SQL a través de este softwarePara ello utilizaremos bases de datos creadas con Access (*.mdb), los cuales pueden ser cargados al software SQL Command.Cabe señalar que no soy un experto en lenguaje SQL , sino que también trato de mejorar mi aprendizaje a través de la creación de este tutorial.

VOLVER AL INDICE 2

Page 4: Aprender SQL Con SQL Command Primera Parte

Aperturando nuestra base de datos en SQL Command

Aperturamos el programa SQL Command y hacemos clic sobre el menú a Archivo/Abrir Base de Datos.

Luego en el explorador que se apertura buscamos nuestra base de datos.

Damos clic sobre Abrir

VOLVER AL INDICE 3

Page 5: Aprender SQL Con SQL Command Primera Parte

Esto apertura la ventana de la imagen de arriba en SQL Command.La ventana superior es la ventana de edición de comandos y la ventana de abajo (donde nos muestra EMPRESA ABC que es el nombre de la base de datos) nos muestra el detalle de la base de datos aperturada.

Al aperturar inicialmente el programa la ventana de abajo nos muestra el tutorial.Luego de cargar la base de datos la misma ventana nos muestra información sobre la base de datos cargada.

Aquí podemos ver la estructura de la tabla (en nuestro caso CLIENTES) dando clic sobre Información de Tablas

De esta imagen podemos inferir que nuestra tabla CLIENTES , tiene 20 filas y 11 campos, así mismo tiene una Llave primaria

VOLVER AL INDICE 4

Page 6: Aprender SQL Con SQL Command Primera Parte

Si hacemos clic sobre CLIENTES se nos apertura en la ventana de abajo, los datos de nuestra tabla.

La imagen de arriba por razones de espacio no muestra toda la tabla, la cual si la podemos explorar en SQL Command.

Es importante también estar informado de que podemos guardar en un archivo *.sqltodos los comandos que vayamos creando en la ventana superior o ventana de comandos.

VOLVER AL INDICE 5

Page 7: Aprender SQL Con SQL Command Primera Parte

Para ello vamos a Archivo/Guardar SQL As... , lo que apertura el explorador donde podemos nombrar y fijar el lugar en donde guardar nuestro archivo *.sqlEstos archivo podemos posteriormente cargarlos dentro de el editor de comandos.Una vez ejecutado un comando SQL, es necesario limpiar la ventana de edición de comandos, para poder editar y ejecutar un nuevo comando.Para ejecutar un comando vamos al menú y hacemos clic sobre Ejecutar o podemos hacer clic sobre el icono .

Podemos también en SQL Command, crear una base de datos así como las tablas que la componen, pero para esto debemos tener un conocimiento previo de comandos SQL, por lo que es mas conveniente para los que recién se inicien en SQL importar una tabla creada en Access.

Trabajando con SQL

Declaración SELECTLa declaración SELECT es utilizada para seleccionar datos desde una base de datos.

Sintaxis de la declaración SELECT :

SELECT nombre(s)de la columna(S)FROM nombre de la tabla

Queremos un listado de solo las columnas EMPRESA y DIRECCION de la tabla CLIENTES, para ello editamos el comando de la figura de arriba.Damos clic sobre ejecutar y podemos ver en lafigura de abajo el resultado de la consulta.

VOLVER AL INDICE 6

Page 8: Aprender SQL Con SQL Command Primera Parte

Si queremos ver todas las columnas de la tabla lo lograremos con el siguiente comando :

En este comando hemos colocado un asterisco (*) luego de la declaración SELECT, en lugar de colocar el nombre de todas las columnas.El resultado del mismo lo vemos en la siguiente figura :

VOLVER AL INDICE 7

Page 9: Aprender SQL Con SQL Command Primera Parte

Declaración DISTINCTLos valores en las columnas pueden ser muchas veces duplicados, por ejemplo en nuestra tabla CLIENTES, muchos de ellos pertenecen a un mismo distrito, utilizaremos esta sentencia para que se nos proporcione un listado de los distritos en los cuales tenemos presencia de venta.

Sintaxis de la declaracion DISTINCT :

SELECT DISTINCT nombrecolumnaFROM nombretabla

VOLVER AL INDICE 8

Page 10: Aprender SQL Con SQL Command Primera Parte

Del resultado de la consulta podemos ver que los 20 proveedores de nuestra tabla estan distribuidos en 12 distritos de Lima y Callao.

La Clausula WHEREWHERE es utilizada para extraer solamente los registros que cumplan con un determinado criterio.

Sintaxis de WHERE :SELECT nombrecolumna(s)FROM nombretablaWHERE nombrecolumna=' valordeseado'

Se puede incluir en SELECT, el nombre de una o mas columnas, también se puede utilizar (*) el asterisco para señalar que la búsqueda se realice en todas las columnas.

VOLVER AL INDICE 9

Page 11: Aprender SQL Con SQL Command Primera Parte

Nuestra selección nos muestra que en el Distrito de San Isidro, tenemos dos clientes.

Operadores AND y OR

El operador AND muestra un registro si tanto la primera condicion como la segunda condicion son verdaderas.

Para estos operadores usaremos una segunda tabla llamada DIRECTELF de la base de datos DIRECTORIO.Aperturemosla en SQL Command para ver su extructura :

VOLVER AL INDICE 10

Page 12: Aprender SQL Con SQL Command Primera Parte

Como apreciamos en la imagen de arriba es una tabla con 50 registros y 5 columnas.

Para apreciar el operador AND veamos el siguiente ejemplo.Deseamos buscar una persona que se llama Maria Arroyo, luego aplicamos el siguiente comando:

VOLVER AL INDICE 11

Page 13: Aprender SQL Con SQL Command Primera Parte

Como apreciamos en el resultado solo hay una persona en nuestro directorio que responde al nombre de Maria y de apellido Arroyo.

El Operador OR , seleccionemos ahora todas las personas que tengan de nombre Maria o de apellido Arroyo.

Como apreciamos en el resultado de la consulta, existen en nuestro Directorio cinco personas que tienen de nombre Maria o de Apellido Arroyo.

Combinacion con los operadores AND y OR, busquemos ahora listar a las personas que tengan por apellido Bravo y cuyos nombre sean Julio o Fidel, veamos el script:

VOLVER AL INDICE 12

Page 14: Aprender SQL Con SQL Command Primera Parte

Vemos pues en el listado que existen dos personas que cumplen con lo solicitado, apellidarse Bravo y llamarse Julio o Fidel.

Clausula ORDER BY

ORDER BY se utiliza para ordenar los datos por una columna especifica. Los datos pueden ser ordenados en orden ascendente o descendenteDESC = Descendente ASC= Ascendente

Sintaxis de ORDER BY

SELECT nombrecolumna(s)FROM nombretablaORDER BY nombrecolumna(s) ASC/DESC

Ejemplo : Vamos a ordenar la columna Apellidos de la tabla DIRECTELF en orden ascendente.Ademas vamos a incluir la columna Nombre en el resultado.

VOLVER AL INDICE 13

Page 15: Aprender SQL Con SQL Command Primera Parte

Se puede apreciar en el listado de respuesta que los apellidos tienen un orden alfabético, aunque la imagen no muestre todas las filas del resultado.

Declaración INSERT INTOEsta declaración se utiliza para insertar nuevas filas en las tablas. Podemos introducir la información en todas las columnas de la fila o solo información en las columnas especificadas

Para introducir información en todas las columnas usaremos la sintaxis siguiente :

INSERT INTO nombretablaVALUES (Valor1, Valor2,Valor3,...)

Para introducir información en columnas especificas usaremos la siguiente sintaxis :

INSERT INTO nombretabla (Column1,Column3)VALUES (Valor1, Valor3)

Ejemplo : Agregemos una nueva fila a nuestro directorio telefonico

VOLVER AL INDICE 14

Page 16: Aprender SQL Con SQL Command Primera Parte

Podemos apreciar que se ha introducido la fila 51 con los datos del script.

Ahora creemos una nueva fila pero solo introduciremos datos en los camposIDPERSONA, Nombre, Apellido.

VOLVER AL INDICE 15

Page 17: Aprender SQL Con SQL Command Primera Parte

Declaración UPDATESe utiliza para actualizar registros existentes en una tabla.

Sintaxis de UPDATE

UPDATE nombretablaSET columna1=valor, columna2=valor,...WHERE algunacolumna=algunvalor

La clausula WHERE especifica cual registro debe ser actualizado, si se omite este clausula todos los registros serán actualizados.

Ejemplo : Completemos el registro 52 de la tabla DIRECTELF.

VOLVER AL INDICE 16

Page 18: Aprender SQL Con SQL Command Primera Parte

La declaración DELETELa declaración DELETE es utilizada para borrar filas de una tabla.

Sintaxis de DELETEDELETE FROM nombretablaWHERE algunacolumna=algunvalor

La clausula WHERE especifica cual registro borrar, si es omitida todos los registro serán borrados.

Ejemplo : Borremos el ultimo registro creado en nuestra tabla DIRECTELF

VOLVER AL INDICE 17

Page 19: Aprender SQL Con SQL Command Primera Parte

Clausula TOP

La clausula TOP es utilizado para especificar el numero de registros que deseamos ver en una consulta.

Sintaxis de TOP:SELECT TOP numero/porciento nombrecolumnaFROM nombretabla

Ejemplo : Deseamos seleccionar solo los tres primeros registros completos de nuestra tabla DIRECTELF.

EJEMPLO : Queremos seleccionar el 10% de los registros completos de nuestra tabla DIRECTELF.

VOLVER AL INDICE 18

Page 20: Aprender SQL Con SQL Command Primera Parte

El Operador LIKEEste es usado para averiguar por un determinado valor en una columna

Sintaxis de LIKESELECT nombrecolumna(s)FROM nombretablaWHERE nombrecolumna LIKE valor

Ejemplo : Queremos selecionar el registro completo de todas las personas cuyos apellidos sean Arica de la tabla DIRECTELF.

VOLVER AL INDICE 19

Page 21: Aprender SQL Con SQL Command Primera Parte

Operador INEl operador IN permite especificar múltiples valores en una clausula WHERE.

Sintaxis de INSELECT nombrecolumnaFROM nombretablaWHERE nombrecolumna IN (Valor1, valor2,...)

Ejemplo : Seleccionaremos los registros completos de todas las personas de apellido Bravo y Castillo.

El Operador BETWEENEl operador BETWEEN , selecciona un rango de datos entre dos valores. Los valores pueden ser texto, números o fechas.

Sintaxis de BETWEEN :SELECT nombrecolumnaFROM nombretablaWHERE nombrecolumnaBETWEEN valor1 AND valor2

VOLVER AL INDICE 20

Page 22: Aprender SQL Con SQL Command Primera Parte

Podemos apreciar en la imagen de arriba que han sido seleccionados todos los apellidos en orden alfabético desde Arica hasta Astete.

Declaracion JOIN

JOIN es usado para consultas de datos desde dos o mas tablas, basada en una relacion entre ciertas columnas en estas tablas.

Tipos de declaracion JOIN :

VOLVER AL INDICE 21

Page 23: Aprender SQL Con SQL Command Primera Parte

INNER JOIN : Esto devuelve filas cuando hay al menos un par igual entre ambas tablas

Sintaxis INNER JOIN:SELECT nombrecolumna(s)FROM nombretabla1INNER JOIN nombretabla2ON nombretabla1.nombrecolumna=nombretabla2.nombrecolumna

Ejemplo : Vamos a utilizar la base Empresa ABC para este ejemplo, ademas agregaremos una nueva tabla llamada ORDENES, que contendra la ordenes de compra pendientes de despacho.

En la figura de arriba vemos la estructura y elementos de la nueva tabla.Lo que deseamos es listar las empresas (por orden alfabético) que tienen ordenes de compra (pendientes)

VOLVER AL INDICE 22

Page 24: Aprender SQL Con SQL Command Primera Parte

LEFT JOIN : Retorna todas las filas de la tabla de la izquierda esten o no emparejadas con la tabla de la derecha.

Sintaxis de LEFT JOINSELECT nombrecolumna(s)FROM nombretabla1LEFT JOIN nombretabla2ON nombretabla1.nombrecolumna=nombretabla2.nombrecolumna

Ejemplo : Apiquemos LEFT JOIN al ejempo anterior

VOLVER AL INDICE 23

Page 25: Aprender SQL Con SQL Command Primera Parte

Podemos apreciar en el resultado de la consulta en la figura de arriba en la que figuran todas las empresas, tengan estas ordenes de compra pendientes o no. (la imagen no muestra todo el resultado)

VOLVER AL INDICE 24

Page 26: Aprender SQL Con SQL Command Primera Parte

Operador UNION El operador UNION es usado para combinar el resultado de dos o mas declaraciones SELECT. Advierta que cada declaracion SELECT, dentro de UNION debe tener el mismo numero de columnas y las columnas deben tener tipos de datos similares. Tambien las columnas deben estar en el mismo orden.

Sintaxis de UNION :SELECT nombrecolumna(s) FROM nombretabla1UNIONSELECT nombrecolumna(s) FROM nombretabla2

Ejemplo : Para este ejemplo agregaremos tres nuevas tablas a la base EMPRESA ABC, las cuales denominaremos Tienda1,Tienda2 y Tienda3.Aprecieos su extructura :

VOLVER AL INDICE 25

Page 27: Aprender SQL Con SQL Command Primera Parte

Apreciamos que una empleada de la tienda 1 tiene el mismo nombre y apellido que una de la tienda 2.Lo que deseamos es mediante una consulta obtener un listado de los trabajadores de las dos primeras tiendas.

VOLVER AL INDICE 26

Page 28: Aprender SQL Con SQL Command Primera Parte

Si apreciamos las tablas TIENDA 1 y 2 veremos que cada una tiene 4 personas , sin embargo la consulta nos arroja un listado con 7 personas, esto es porque en las tiendas 1 y 2 hay dos personas que tienen los mismos nombre y apellidos.

Para obtener el listado completo tenemos que utilizar el operador UNION ALL

Como apreciamos en la figura de arriba el nuevo listado de la consulta con UNION ALL , arroja ocho trabajadores, cuatro por cada tienda.

Los archivos de las bases de datos del tutorial se pueden descargar desde :http://www.4shared.com/file/KpPYhEzD/[email protected] 2010

FIN PRIMERA PARTE

VOLVER AL INDICE 27