You are on page 1of 28

PRACTICANDO SQL

CON SQL COMMAND


PRIMERA PARTE

mepgkun@hotmail.com

Junio 2010

Lima Per
INDICE
Introduccion
Aperturando nuestra base de datos en SQL Command
Trabajando con SQL
Declaracion SELECT
Declaracin DISTINCT
Clausula WHERE
Operadores AND y OR
Clausula ORDER BY
Declaracin INSERT INTO
Declaracion UPDATE
Declaracion DELETE
Clausula TOP
El Operador LIKE
Operador IN
El operador BETWEEN
Declaracion Join
Operador UNION

VOLVER AL INDICE 1
INTRODUCCION
Structures Query Language (Lenguaje de consulta estructurado) o SQL es un
lenguaje estndar 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 estndar 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 estndar.

Que es un DBMS (Database Management systems)?


Un DBMS es un sistema de administracin 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 fcil aprendizaje.

Aprenderemos el uso de los comandos principales SQL a travs de este software


Para ello utilizaremos bases de datos creadas con Access (*.mdb), los cuales pueden
ser cargados al software SQL Command.
Cabe sealar que no soy un experto en lenguaje SQL , sino que tambin trato de
mejorar mi aprendizaje a travs de la creacin de este tutorial.

VOLVER AL INDICE 2
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
Esto apertura la ventana de la imagen de arriba en SQL Command.
La ventana superior es la ventana de edicin 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 informacin sobre la
base de datos cargada.

Aqu podemos ver la estructura de la tabla (en nuestro caso CLIENTES) dando clic
sobre Informacin 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
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 tambin estar informado de que podemos guardar en un archivo *.sql


todos los comandos que vayamos creando en la ventana superior o ventana de
comandos.

VOLVER AL INDICE 5
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 *.sql
Estos archivo podemos posteriormente cargarlos dentro de el editor de comandos.
Una vez ejecutado un comando SQL, es necesario limpiar la ventana de edicin 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 tambin 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 recin se inicien en SQL importar
una tabla creada en Access.

Trabajando con SQL

Declaracin SELECT
La declaracin SELECT es utilizada para seleccionar datos desde una base de datos.

Sintaxis de la declaracin 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
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 declaracin 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
Declaracin DISTINCT
Los 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 nombrecolumna


FROM nombretabla

VOLVER AL INDICE 8
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 WHERE
WHERE es utilizada para extraer solamente los registros que cumplan con un
determinado criterio.

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

Se puede incluir en SELECT, el nombre de una o mas columnas, tambin se puede


utilizar (*) el asterisco para sealar que la bsqueda se realice en todas las columnas.

VOLVER AL INDICE 9
Nuestra seleccin 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
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
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
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 descendente
DESC = Descendente ASC= Ascendente

Sintaxis de ORDER BY

SELECT nombrecolumna(s)
FROM nombretabla
ORDER 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
Se puede apreciar en el listado de respuesta que los apellidos tienen un orden
alfabtico, aunque la imagen no muestre todas las filas del resultado.

Declaracin INSERT INTO


Esta declaracin se utiliza para insertar nuevas filas en las tablas. Podemos introducir
la informacin en todas las columnas de la fila o solo informacin en las columnas
especificadas

Para introducir informacin en todas las columnas usaremos la sintaxis siguiente :

INSERT INTO nombretabla


VALUES (Valor1, Valor2,Valor3,...)

Para introducir informacin 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
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 campos
IDPERSONA, Nombre, Apellido.

VOLVER AL INDICE 15
Declaracin UPDATE
Se utiliza para actualizar registros existentes en una tabla.

Sintaxis de UPDATE

UPDATE nombretabla
SET columna1=valor, columna2=valor,...
WHERE algunacolumna=algunvalor

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

Ejemplo : Completemos el registro 52 de la tabla DIRECTELF.

VOLVER AL INDICE 16
La declaracin DELETE
La declaracin DELETE es utilizada para borrar filas de una tabla.

Sintaxis de DELETE
DELETE FROM nombretabla
WHERE algunacolumna=algunvalor

La clausula WHERE especifica cual registro borrar, si es omitida todos los


registro sern borrados.

Ejemplo : Borremos el ultimo registro creado en nuestra tabla DIRECTELF

VOLVER AL INDICE 17
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 nombrecolumna
FROM 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
El Operador LIKE
Este es usado para averiguar por un determinado valor en una columna

Sintaxis de LIKE
SELECT nombrecolumna(s)
FROM nombretabla
WHERE 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
Operador IN
El operador IN permite especificar mltiples valores en una clausula WHERE.

Sintaxis de IN
SELECT nombrecolumna
FROM nombretabla
WHERE nombrecolumna IN (Valor1, valor2,...)

Ejemplo : Seleccionaremos los registros completos de todas las personas de apellido


Bravo y Castillo.

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

Sintaxis de BETWEEN :
SELECT nombrecolumna
FROM nombretabla
WHERE nombrecolumna
BETWEEN valor1 AND valor2

VOLVER AL INDICE 20
Podemos apreciar en la imagen de arriba que han sido seleccionados todos los
apellidos en orden alfabtico 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
INNER JOIN : Esto devuelve filas cuando hay al menos un par igual entre ambas
tablas

Sintaxis INNER JOIN:


SELECT nombrecolumna(s)
FROM nombretabla1
INNER JOIN nombretabla2
ON 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 alfabtico) que tienen ordenes de
compra (pendientes)

VOLVER AL INDICE 22
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 JOIN


SELECT nombrecolumna(s)
FROM nombretabla1
LEFT JOIN nombretabla2
ON nombretabla1.nombrecolumna=nombretabla2.nombrecolumna

Ejemplo : Apiquemos LEFT JOIN al ejempo anterior

VOLVER AL INDICE 23
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
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 nombretabla1
UNION
SELECT 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
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
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/SQL_COMMAND_PRACTICAS.html
mepgkun@hotmail.com
Junio 2010

FIN PRIMERA PARTE

VOLVER AL INDICE 27

You might also like