LENGUAJE SQL

INTRODUCCION

Es un lenguaje normalizado , utilizado por el motor de base de datos de Microsoft Jet. Se utliliza para crear objetos QueryDef.

COMPONENTES DE SQL

Esta compuesto por comandos, clausulas, operadores y funciones de agregado.

COMANDOS

EXISTEN DOS TIPOS DE COMANDOS SQL:

Los DLL que permiten crear y definir nuevas bases d datos, campos e indices.

Los DML que permiten generar consultas para ordenar, filtar y extraer datos de la base de datos.

FUNCIONES DE AGREGADO

Se utilizan dentro de una clausula SELECT en grupos de registros

AVG

Calcula el promedio de los valores de un campo

COUNT

Devuelve el numero de registros de la seleccion

SUM

Devuelve la suma de todos los valores de un campo

MAX

Devuelve el valor mas alto de un campo

MIN

Devuelve el valor mas bajo d un campo

CRITERIOS DE SELECCION

OPERADORES LOGICOS

Los operadores logicos soportados por SQL son: AND, OR, XOR, Eqv,Imp, Is y Not

SELECT * FROM Empleados WHERE Edad > 25 AND edad < 50

INTERVALOS LOGICOS

Para indicar que deseamos recuperar los registros segun intervalo de valores de un campo emplearemos el operador Between

campo[Not] Between valor And valor(La condicion Not es opcional)

OPERADOR LIKE

Se utiliza para comparar una expresion de cadena con un modelo en una expresion SQL

Like 'P[A-F]####

OPERADOR IN

Devuelve aquellos registros cuyo campo indicado coincide con alguno de los en una lista

SELECT * FROM Pedidos WHERE Provincia In ('Madrid','Barcelona');

CLAUSULA WHERE

Es utilizada para determinar que registros de las tablas enumeradas en la clausula FROM apareceran en los resultados SELECT

SELECT Apellido, Salaroio FROM Empleados WHERE Salario > 21000;

CONSULTAS DE ACCION

Son aquellas que no devuelven ningun registro

DELETE

Crea una consulta que eliminan registros de una o mas tablas

DELETE Tabla * FROM Tabla WHERE criterio

INSERT INTO

Agrega un registro a una tabla

Para insertar un unico registro

INSERT INTO Tabla (campo1, campo2.......)
VALUES (valor1,valor2....)

Para insertar Registros de otra Tabla

INSERT INTO Tabla SELECT TablaOrigen * FROM TablaOrigen

UPDATE

Crea una consulta de actualizacion que cambia los valores de los campos de una tabla

UPDATE Pedido SET Pedido=Pedido*1.1,Transporte*1.03
WHERE PaisEnvio = 'ES'

SUB CONSULTAS

Puede ser utilizada de tres formas de sintaxis para crear una consulta

comparación [ANY | ALL | SOME] (instrucción sql)
expresión [NOT] IN (instrucción sql)
[NOT] EXISTS (instrucción sql)

COMPARACION

Compara la expresión con el resultado
de la subconsulta.

EXPRESION

Busca el conjunto resultante de la subconsulta.

INTRODUCCION SQL

Se utiliza en una subconsulta en lugar de una expresión en la lista de campos de una
instrucción SELECT o en una cláusula WHERE o HAVING.

CONSULTAS DE UNION INTERNAS

Las relaciones entre tablas se realizan mediante la clausula INNER que combinan registros de dos tablas

SELECT campos FROM tb1 INNER JOIN tb2 ON tb1.campo1 comp tb2.campo2

tb1, tb2

Son nombres de tablas

campo1, campo2

Son nombres de tablas que se comvinan

comp

Es cualquier operador de comparacion

ESTRUCTURAS DE TABLAS

Creacion de tablas tablas nuevas

CREATE TABLE tabla (campo1 tipo (tamaño) índice1 ,
campo2 tipo (tamaño) índice2 , ...,
índice multicampo , ... )

La clausula CONSTRAINT

CONSTRAINT nombre {PRIMARY KEY (primario1[, primario2 [, ...]]) |
UNIQUE (único1[, único2 [, ...]]) |
FOREIGN KEY (ref1[, ref2 [

Creacion de Indices

CREATE [ UNIQUE ] INDEX índice
ON tabla (campo [ASC|DESC][, campo [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

Modificar el diseño de una tabla

ALTER TABLE tabla {ADD {COLUMN tipo de campo[(tamaño)] [CONSTRAINT
índice]
CONSTRAINT índice multicampo} |

DROP {COLUMN campo I CONSTRAINT nombre del índice} }

CONSULTAS DE PARAMETROS

Son aquellas cuyas condiciones de busqueda se definen en parametros

PARAMETERS nombre1 tipo1, nombre2 tipo2, ... , nombreN tipoN Consulta

BASESE DE DATOS EXTERNAS

Para el acceso a bases de datos externas se utiliza la cláusula IN. Se puede
acceder a base de datos dBase, Paradox o Btrieve.

FROM Tabla IN '[dBASE IV; DATABASE=C:\DBASE\DATOS\VENTAS;]';
FROM Tabla IN 'C:\DBASE\DATOS\VENTAS' 'dBASE IV;'

OMITIR LOS PERMISOS DE EJECUCION

Se puede utilizar la cláusula WITH OWNERACCESS OPTION

SELECT Apellido, Nombre, Salario FROM Empleados ORDER BY Apellido
WITH OWNERACCESS OPTION;

LA CLAUSULA PROCEDURE

se utiliza para crear una consulta a la misma
vez que se ejecuta

PROCEDURE NombreConsulta Parámetro1 tipo1, .... , ParámetroN tipon
ConsultaSQL

CLAUSULAS

Las clausulas son condiciones de modificacion utilizadas para definir los datos que deseas seleccionar o manipular.

FROM

Especifica la tabla de la cual se seleccionan registros

WHERE

Especifica las condiciones que deben reunir los registros

GROUP BY

Separa los registros seleccionados

HAVING

Expresa la condicion de cada grupo

ORDER BY

Ordena los registros seleccionados

OPERADORES LOGICOS

AND

Es el "Y" logico

OR

Es el "O" logico

NOT

Negacion logica

OPERADORES DE COMPARACION

<

Menor que

>

Mayor que

<>

Distinto que

<=

Menor igual que

>=

Mayor igual que

=

Igual que

BETWEEN

Especifica un intervalo de valores

LIKE

Comparacion de un modelo

In

Especifica registros de una base de datos

CONSULTAS DE SELECCION

Se utiliza para indicar al motor de datos que devuelva informacion de las bases de datos

CONSULTAS BASICAS

La sintaxis basica de una consulta de seleccion es la siguiente

SELECT Campos FROM Tabla

ORDENAR LOS REGISTROS

Espeifica el orden en que se desean recuperar los registros de las tablas mediante la clausula ORDER BY

SELECT CodigoPostal,Nombre,Telefono FROM Clientes ORDER BY Nombre;

CONSULTAS CON PREDICADO

Se incluye entre la clausula y el primer nombre del campo a recuperar

ALL

Devuelve todos los campos de la tabla

TOP

Devuelve un determinado numero de registro

DISTINCT

Omiten los registros cuyos campos no coincidan

DISTINCTROW

Omite los registros duplicados

ALIAS

En determinadas circunstancias es necesario asignar un nombre a alguna columna deteerminada de un conjunto devuelto.

SELECT DISTINCTROW Apellido AS Empleado FROM Empleados

RECUPERAR INFORMACION
DE UNA BASE EXTERNA

En ocaciones es necesario la recuperacion de informacion que se encuentra en una tabla que no se encuentra en la base de datos

SELECT DISTINCTROW Apellido AS Empleado FROM Empleados IN 'c:\databases\gestion.mdb';

AGRUPACION DE REGISTROS

GROUP BY

Combina los registros con valores identicos en la lista de campos especificos

SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo

AVG

Calcula la media aritmetica de un conjunto de valores contenidos en un campo

SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100

COUNT

Calcula el numero de registros devueltos por una consulta

SELECT Count(*) AS Total FROM Pedidos

MAX, MIN

Devuelve el minimo y el maximo de un conjunto de valores contenidosen un campo

SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'España'

SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'España'

StDev, StDevP

Devuelve estimaciones de la desviacion estandar para la poblacion

SELECT StDev(Gastos) AS Desviacion FROM Pedidos WHERE Pais = 'España'

SELECT StDevP(Gastos) AS Desviacion FROM Pedidos WHERE Pais = 'España'

SUM

Devuelve la suma sdel conjunto de valores contenidos en un campo especifico de una consulta

SELECT Sum(Precio*Cantidad) AS Total FROM DetallePedidos

Var,VarP

Devuelve una estimacion d la varianza de una poblacion

SELECT Var(Gastos) AS Varianza FROM Pedidos WHERE Pais = 'España'

SELECT VarP(Gastos) AS Varianza FROM Pedidos WHERE Pais = 'España'

TIPOS DE DATOS

Los tipos de datos en SQL se clasifican el 13 tipos de datos

Tipos de datos primarios:

BINARY 1 byte
BIT 1 byte Valores Si/No ó True/False
BYTE 1 byte Un valor entero entre 0 y 255.
COUNTER 4 bytes
CURRENCY 8 bytes
DATETIME 8 bytes
SINGLE 4 bytes
DOUBLE 8 bytes
SHORT 2 bytes
LONG 4 bytes
LONGTEXT 1 byte
LONGBINARY Según se necesite
TEXT 1 byte

TABLA DE SININIMOS

BINARY VARBINARY
BIT BOOLEAN
LOGICAL
LOGICAL1
YESNO
BYTE INTEGER1
COUNTER AUTOINCREMENT
CURRENCY MONEY
DATETIME DATE TIME
TIMESTAMP
SINGLE FLOAT4
IEEESINGLE
REAL
DOUBLE FLOAT
FLOAT8
IEEEDOUBLE
NUMBER
NUMERIC
SHORT INTEGER2
SMALLINT
LONG INT
INTEGER
INTEGER4
LONGBINARY GENERAL
OLEOBJECT
LONGTEXT LONGCHAR
MEMO
NOTE
TEXT ALPHANUMERIC
CHAR
CHARACTER
STRING
VARCHAR
VARIANT (No Admitido) VALUE

CONSULTAS DE REFERENCIA CRUZADA

Es aquella que nos permite visualizar los datosb en filas y columnas

TRANSFORM función agregada instrucción select PIVOT campo pivot
[IN (valor1[, valor2[, ...]])]

FUNCION AGREGADA

Opera los datos seleccionados

INSTRUCCION SELECT

Es una instruccion select

CAMPO PIVOT

Se utiliza para crear las cabezeras de una columna

VALOR1, VALOR2

Son valor fijos para crear la cabezera de una columna

CONSULTAS DE UNION EXTERNAS

Se utiliza la oparcio UNION para crear una consultade union

[TABLE] consulta1 UNION [ALL] [TABLE]
consulta2 [UNION [ALL] [TABLE] consultan [ ... ]]

consulta1, consulta2, consultan

Son instrucciones SELECT, pueden convinar los resuiltados de dos o mas consultas

TABLE [Nuevas Cuentas] UNION ALL SELECT * FROM Clientes
WHERE [Cantidad pedidos] > 1000;