Está en la página 1de 22

UNIVERSIDAD VERACRUZANA

SISTEMAS COMPUTACIONALES ADMINISTRATIVOS

CATEDRTICO:
DR. CARLOS ARTURO TORRES GASTELU
ALUMNA:
MARTHA TERESA LECHUGA GONZALEZ

ANSI-SQL Y SUS VARIACIONES


EE:
BASE DE DATOS
16 DE SEPTIEMBRE DEL 2011

INTRODUCCIN

ANSI SQL ah sufrido diversas modificaciones a lo largo del tiempo, obteniendo


aportaciones a sus diferentes versiones, en el siguiente documento se muestran
las distintas caractersticas que se han agregado, as como las que han
desaparecido, ya que se incluyeron nuevas y mejores, para tener los resultados
deseados de una manera ms fcil.
Entre las muchas caractersticas con las que cuentan ANSI SQL se pueden
clasificar de acuerdo a su modo de utilizacin el cual tiene divisiones tales como
SQL interactivo donde ocurre una ejecucin directa, modos SQL-cliente aqu se
muestran procedimientos almacenados, entre otros modos que nos pueden
ayudar a utilizar el SQL prcticamente.
ANSI SQL cuenta con una variada gama de elementos los cuales nos permiten
realizar las ordenes SQL, abarcando palabras predefinidas, nombre de los objetos,
constantes, delimitadores, operadores, datos nulos, entre otros, pudiendo nosotros
como administradores tener una sintaxis donde se entienda de manera clara y
concisa lo que necesita obtener de la base de datos.
Adems de contar con las caractersticas mencionadas anteriormente, ANSI SQL
soporta una amplia variedad de datos, ya sea de tipo carcter, numrica o cadena
de caracteres por mencionar algunos, esto nos permite poder ingresar un mayor
numero de datos, de diferente tipo.
ANSI SQL tiene un grupo de subconjuntos SQL con los que podemos trabajar de
acuerdo a las necesidades que tengamos, se pueden desglosar de la siguiente
manera, encontrando DQL (lenguaje de consulta de datos), DML (lenguaje de
manipulacin de datos), DDL (lenguaje de definicin de datos), DCL (lenguaje de
control de datos), entre otros.
A continuacin se detallaran las caractersticas mencionadas anteriormente, y
tambin se efectuara una actualizacin de los datos aqu mencionados, aportando
nuevas caractersticas y mejoras que se han incluido en ANSI SQL de nuevas
versiones.

ANSI SQL
HISTORIA
Los orgenes del SQL estn ligados a los de las bases de datos relacionales. En
1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje
de acceso a los datos basado en el clculo de predicados. Basndose en estas
ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English
QUEry Language) que ms tarde sera ampliamente implementado por el SGBD
(Sistemas Gestores de Bases de Datos) experimental System R, desarrollado en
1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez
en 1979 en un programa comercial.
El SEQUEL terminara siendo el predecesor de SQL, siendo ste una versin
evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los
diversos SGBD relacionales surgidos en los aos siguientes y es por fin
estandarizado en 1986 por el ANSI, dando lugar a la primera versin estndar de
este lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este estndar es tambin
adoptado por la ISO.
En 1986, el ANSI adopt SQL (sustancialmente adopt el dialecto SQL de IBM)
como estndar para los lenguajes relacionales y en 1987 se transfom en
estndar ISO. Esta versin del estndar va con el nombre de SQL/86. En los aos
siguientes, ste ha sufrido diversas revisiones que han conducido primero a la
versin SQL/89 y, posteriormente, a la actual SQL/92.
El hecho de tener un estndar definido por un lenguaje para bases de datos
relacionales abre potencialmente el camino a la intercomunicabilidad entre todos
los productos que se basan en l. Desde el punto de vista prctico, por desgracia
las cosas fueron de otro modo. Efectivamente, en general cada productor adopta e
implementa en la propia base de datos slo el corazn del lenguaje SQL (el as
llamado Entry level o al mximo el Intermediate level), extendindolo de manera
individual segn la propia visin que cada cual tenga del mundo de las bases de
datos.
Actualmente, est en marcha un proceso de revisin del lenguaje por parte de los
comits ANSI e ISO, que debera terminar en la definicin de lo que en este
momento se conoce como SQL3. Las caractersticas principales de esta nueva
encarnacin de SQL deberan ser su transformacin en un lenguaje stand-alone
(mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la
introduccin de nuevos tipos de datos ms complejos que permitan, por ejemplo,
el tratamiento de datos multimediales.

CARACTERSTICAS GENERALES

Las caractersticas generales de ANSI SQL no han sido modificadas de manera


muy significativa a lo largo de sus versiones ya que, siguen el mismo patrn de
funcionamiento, con algunos cambios pero todo sin afectar su estructura, siempre
con la intencin de mejorar el producto.
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y
potencia de los sistemas relacionales permitiendo gran variedad de operaciones
en stos ltimos.
Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a
su fuerte base terica y su orientacin al manejo de conjuntos de registros, y no a
registros individuales, permite una alta productividad en codificacin y la
orientacin a objetos. De esta forma una sola sentencia puede equivaler a uno o
ms programas que utilizas en un lenguaje de bajo nivel orientado a registro.
OPTIMIZACIN
Como ya se dijo arriba, y suele ser comn en los lenguajes de acceso a bases de
datos de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qu
es lo que se quiere y no cmo conseguirlo, por lo que una sentencia no establece
explcitamente un orden de ejecucin.
El orden de ejecucin interno de una sentencia puede afectar gravemente a la
eficiencia del SGBD, por lo que se hace necesario que ste lleve a cabo una
optimizacin antes de su ejecucin. Muchas veces, el uso de ndices acelera una
instruccin de consulta, pero ralentiza la actualizacin de los datos. Dependiendo
del uso de la aplicacin, se priorizar el acceso indexado o una rpida
actualizacin de la informacin. La optimizacin difiere sensiblemente en cada
motor de base de datos y depende de muchos factores.
Existe una ampliacin de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que
permite el acceso a bases de datos difusas, usando la lgica difusa. Este lenguaje
ha sido implementado a nivel experimental y est evolucionando rpidamente.
A continuacin se mostrara una breve historia de las versiones que han venido
construyendo ANSI SQL a lo largo de su historia.

SQL-89
En 1986, el ANSI adopto SQL (sustancialmente adopto el dialecto SQL de IBM)
como estndar para los lenguajes relacionales y en 1987 se transformo en el
estndar ISO. Esta versin estndar tena el nombre de SQL-86. En 1989 ANSI
defini SQL-89 basada en la anterior pero con una serie de mejoras entre las que
destacan:
Definicin de clave primarias
Integridad de datos
Una caracterstica importante de esta versin era la posibilidad de utilizarse a
travs de dos interfaces, de manera interactiva y por medio de programas de
aplicacin.
En la primera versin de SQL-89 se tienen tres partes esenciales:
Lenguaje de Definicin de Datos DDL
Contiene todas las instrucciones para definir el esquema de una base de datos,
como son CREATE (para la creacin de tablas), ALTER (sirve para modificar los
datos o las tablas) y DROP (para eliminar las tablas o registros de una BD).
Lenguaje de Manipulacin de Datos DML
Contiene las instrucciones de manejo de tablas como son:

insert (insertar nuevos registros dentro de la BD)


select (mostrar los datos requeridos dentro de una BD)
update (modifica los datos dentro de una base de datos)
delete (borra de manera total o parcial los datos)

Tambin contiene instrucciones como commit y rollback para el control de


concurrencia de los datos.
Lenguaje de Control de Datos DCL
Contiene aquellas instrucciones para dar y revocar y permisos de acceso a los
datos de la base de datos, como GRANT para otorgar permisos a los
administradores y REVOKE para quitar dichos permisos.

Todas estas instrucciones pueden ir embebidas en programas escritos en


diferentes lenguajes de programacin tales como: COBOL, FORTRAN, PASCAL t
PL/1.
Para completar la sentencia es necesaria una clausula, la cual especifica los datos
sobre los que debe actuar la sentencia, o proporcionar mas detalles acerca de lo
que la sentencia debe hacer. Todas las clausulas comienzan con palabras clave
como: WHERE, FROM, INTO y HAVING.
SQL-92
SQL adems de permitirnos consultas en la base de datos, contiene primitivas de
definicin de tablas, actualizacin de la base de datos, definicin de vistas de
otorgamiento de privilegios, etc. A continuacin se muestran algunos aspectos del
estndar ANSI-SQL92.
Definicin de esquemas
La definicin de un esquema es simple. Solo se necesita identificar el comienzo de
la definicin con una instruccin CREATE SCHEMA y una clausula adicional de
AUTHORIZATION y a continuacin definir cada dominio, tabla, vista, etc., en el
esquema.
El dueo o propietario del esquema puede otorgar privilegios de acceso y
actualizacin de la base de datos definida en el esquema a otros usuarios.
Tipo de datos y dominio
Un dominio es el conjunto del cual toma sus valores una columna de una relacin.
Segn este concepto, los tipos de datos predefinidos son dominios.
Adicionalmente ANSI-SQL92 permite la definicin de dominios por parte de los
usuarios.
NUMEROS EXACTOS
Integer
Small integer
Numeric p, e
Decimal p, e

Enteros
Enteros pequeos
P: precisin: total de nmeros o dgitos
en el numero
Precisin y escala

NUMEROS APROXIMADOS
Real
Doubl precisin
Float

CADENA DE CARACTERES
Carcter
Character varying

Carcter
Carcter variable

CADENA DE BITS
Bit
Bit varying

FECHAS Y HORAS
Date
Time
Timestamp
Timestamp con tiempo zonal
Time con tiempo zonal

INTERVALOS
Year-month
Day-time

Fecha
Hora
Sello de tiempo

Ao-mes
Da-hora

Definicin de dominios
Los tipos de datos con restricciones (constraints) y valores por defecto (default
values) se pueden combinar en la definicin de dominios. Una definicin de
dominio es un tipo de datos especializado que puede estar definido dentro de una
esquema y usado en la definicin de columnas.
Por ejemplo:
CREATE DOMAIN IDENTIFICADOR NUMERIC (4) DEFAULT 0 CHECK
(VALUES IS NOT NULL)
Lo anterior expresa que un dominio llamado IDENTIFICADOR cuenta con las
siguientes caractersticas:

Su tipo de datos es numrico de cuatro dgitos


Su valor por defecto es cero
Nunca podr ser nulo
Definicin de tablas

Las tablas se definen en tres sencillos pasos:


Dar un nombre a la tabla
Definir cada columna, posiblemente incluyendo restricciones de columna
Definir las restricciones de la tabla

LA EVOLUCION DE ANSI-SQL
AO
1986

NOMBRE
SQL-86

ALIAS
SQL-87

1989
1992
1999

SQL-89
SQL-92
SQL:1999

SQL2
SQL2000

2003

SQL:2003

2006

SQL:2006

2008

SQL:2008

COMENTARIO
Primera publicacin hecha por ANSI.
Confirmada por ISO en 1987.
Revisin menor.
Revisin mayor.
Se agregaron expresiones regulares,
consultas recursivas (para relaciones
jerrquicas),
triggers
y
algunas
caractersticas orientadas a objetos.
Introduce algunas caractersticas de
XML, cambios en las funciones,
estandarizacin del objeto sequence y
de las columnas auto numricas.
ISO/IEC 9075-14:2006 Define las
maneras en las cuales el SQL se puede
utilizar conjuntamente con XML. Define
maneras importar y guardar datos XML
en una base de datos SQL,
manipulndolos dentro de la base de
datos y publicando el XML y los datos
SQL convencionales en forma XML.
Adems, proporciona facilidades que
permiten a las aplicaciones integrar
dentro de su cdigo SQL el uso de
XQuery, lenguaje de consulta XML
publicado por el W3C (World Wide Web
Consortium) para acceso concurrente a
datos ordinarios SQL y documentos
XML.
Permite el uso de la clusula ORDER
BY fuera de las definiciones de los
cursores. Incluye los disparadores del
tipo INSTEAD OF. Aade la sentencia
TRUNCATE.

En la tabla anterior se muestran algunas de las variaciones que se le han hecho al


lenguaje de SQL a lo largo de los aos y de las versiones que han surgido. Como
se puede observar son cambios muy pequeos, aunque significativos, ya que
aportan nuevas sentencias, soportan un mayor tipo de datos, y el lenguaje tanto
de manipulacin DML como de definicin de datos DDL han crecido a travs del
tiempo.

An cuando se describe a SQL como un lenguaje de consulta, en realidad es


mucho ms que eso, ya que dispone de otras funciones adems de las de
consultar una Base de Datos. Entre stas se incluyen las relativas a:
definicin de datos.
manipulacin de los datos de la Base de Datos.
especificar restricciones de acceso y seguridad.
Cada funcin tiene su conjunto propio de instrucciones, que se expresan
respectivamente en:
Lenguaje de Definicin de Datos (LDD)
Lenguaje de Manipulacin de Datos (LMD)
Lenguaje de Control de Datos (LCD)

COMANDOS DDL
COMANDO
CREATE
DROP
ALTER
TRUNCATE

DESCRIPCION
Utilizado para crear nuevas tablas,
campos e ndices
Empleado para eliminar tablas e ndice
Utilizado para modificar las tablas
agregando campos.
Trunca todo el contenido de una tabla

A continuacin se muestran los comandos con sus respectivas sintaxis as como


algunos ejemplos para dejar ms clara la explicacin.
CREATE
CREATE TABLE Nombre-Tabla
(Definicin de columna [, definicin de columna
...
)
Por ejemplo:
CREATE TABLE Alumnos ( Nombre CHAR(35), Sexo CHAR(1), Telefono
INTEGER, FechaNac DATE, CuotaMes DECIMAL(7,2) )

ALTER
ALTER TABLE Nombre-Tabla ADD columna tipo de dato
Por ejemplo:
ALTER TABLE Prueba ADD Descuento SMALLINT

DROP
DROP TABLE
Tambin es posible eliminar en cualquier momento una tabla existente. Se pierde
todo.
DROP TABLE Nombre-Tabla
Por ejemplo:
DROP TABLE Pruebas

TRUCATE
Por ejemplo:
TRUNCATE TABLE ''TABLA_NOMBRE1''

COMANDOS DML
Comando INSERT
Este comando se utiliza para agregar uno o ms registros (filas). Se puede utilizar
para efectuar dos tipos de operaciones:
Insertar un nico registro
Insertar en una tabla los registros contenidos en otra.
Comando INSERT para un registro:

INSERT INTO destino [(campo1 [, campo2[, ...]])]VALUES (valor1[, valor2[,


...])
Comando INSERT para insertar ms de un registro:
INSERT INTO destino {[(campo1[, campo2[, ...]])] seleccin
ARGUMENTO
Destino
Campo N

Seleccin

Valor N

DESCRIPCION
El nombre de la tabla donde se van a
aadir registros.
Los nombres de los campos donde se
van a aadir los datos, si est a
continuacin del argumento destino, o
los nombres de los campos de donde
se obtienen los datos, si est a
continuacin de un argumento origen.
Es una expresin de seleccin que
debe tener el mismo nmero de
columnas y tipos que las columnas a
insertar. Los registros que de cmo
resultado la expresin SELECT sern
agregados en la tabla destino (ver
comando SELECT). Esto permite
insertar en una tabla varios registros.
Los valores que se van a insertar en los
campos especficos del nuevo registro.
Cada valor se inserta en el campo que
corresponde a la posicin del valor en
la lista: valor1 se inserta en campo1 del
nuevo registro, valor2 dentro de
campo2, y as sucesivamente. Debe
separar los valores con una coma y
escribir los campos de texto entre
apstrofos ( ) y las fechas indicarlas
en
formato
dd/mm/aa
y
entre
apstrofos.

Ejemplo INSERT
INSERT INTO articulos (art,Descripcion,precio,Stock_max,Stock_min) VALUES (5,
'Vino x1L', 1.5,90,20);
En este ejemplo se agrega un nuevo registro a la tabla artculos, pero en el campo
cantidad no se pone ningn valor (Valor nulo).

Comando UPDATE
Para cambiar uno o ms valores de campos de registros en una tabla, se utiliza el
comando UPDATE.
Su sintaxis es:
UPDATE tabla SET campo1 = valor1 [, campo2 = valor2 [, ...]] WHERE
condicin;
ARGUMENTO
Tabla
Campo N
Valor N

Condicin

DESCRIPCION
Nombre de la tabla cuyos datos desea
modificar.
Nombre del campo cuyo valor se
actualizar.
Expresin cuyo valor tomara el campo
N. La expresin debe ser del tipo del
campo.
Una expresin que determina qu
registros se actualizarn. Slo se
actualizan los registros que satisfacen
la expresin.

Ejemplo UPDATE
1) UPDATE artculos SET precio = precio * 1.2;
Esta instruccin incrementa los precios de todos los artculos en un 20 por ciento.
2) UPDATE artculos SET precio = precio * 1.2
WHERE precio <2;
La ejecucin de este comando incrementa los precios de los artculos cuyo precio
es menor a $2, en un 20 por ciento.

Comando DELETE
El comando DELETE se utiliza para borrar uno o varios registros de una tabla
particular.
Su sintaxis es:
DELETE FROM tabla [WHERE condicion];
ARGUMENTO
Tabla
Condicin

DESCRIPCION
Nombre de la tabla cuyos registros se
van a eliminar
Expresin que determina que registros
se van a eliminar

En caso de omitir la condicin WHERE se eliminaran todos los registros.


Ejemplo de DELETE
DELETE FROM proveedores;
La ejecucin de este comando producir que la tabla proveedores quede vaca.
DELETE FROM proveedores WHERE prov=200;
Este comando elimina el registro correspondiente al proveedor nmero 200.
Comando SELECT
El comando ms usado en SQL es la instruccin SELECT, que se utiliza para
recuperar datos de diferentes tablas de una base de datos.
Consta de seis clusulas: las dos primeras (SELECT y FROM) obligatorias y las
cuatro restantes, opcionales.
Su sintaxis es:
SELECT [ALL|DISTINCT] { * | expr_columna_1 [AS c_alias_1] [, expr_columna_2
[AS c_alias_2][,...]]}
FROM nombre_tabla_1 [t_alias_1][, table_name_n [t_alias_n][,...]]
[WHERE condicionWhere]
[GROUP BY expr_columna_group1 [,expr_columna_group2] [,...]]

[HAVING condicionHaving]] [{UNION [ALL] | INTERSECT | EXCEPT} SELECT ...]


[ORDER
BY
nombre_campo_i1
[ASC|DESC]
[,
nombre_campo_j1
[ASC|DESC]][,...]]];
La clusula SELECT lista los datos a recuperar por la sentencia SELECT. Los
elementos o datos a seleccionar, pueden ser columnas de la base de datos o
columnas a calcular por SQL cuando efecta la consulta.
Su sintaxis es:
SELECT [ALL|DISTINCT] { * | expr_columna_1 [AS c_alias_1] [,
expr_columna_2 [AS c_alias_2][,...]]}
ARGUMENTO
ALL
DISTINCT

Expr_columna_N

c_alias_N

DESCRIPCION
Si hay registros repetidos en la consulta
tambin son devueltos.
Si hay registros repetidos en la
consulta, solo devuelve uno de los
repetidos. Valor por omision.
La tabla resultante de la consulta tendr
todas las columnas de las tablas
involucradas.
Define una columna, que ser parte del
resultado de la consulta, puede ser el
nombre de una columna de las tablas
participantes en la consulta, o una
expresin que la involucre (por Ej.:
Precio * 2). Tambin puede ser una
funcin agregada de SQL
Nombres que se van a utilizar como
encabezados de columnas en la tabla
resultante, en vez de los nombres de
las expresiones de columnas.

Clausula FROM
La clusula FROM lista las tablas que contienen los datos a recuperar por la
consulta.
La sintaxis de esta clusula es:
FROM nombre_tabla_1 [t_alias_1][, nombre_tabla _n [t_alias_n][,...]]

Por ejemplo:
Devolver un listado de artculos con el nmero, Descripcin y precio de cada
artculo.
SELECT art, Desc, precio FROM articulos;
Clusula WHERE
En clusula WHERE se define la condicion que deben cumplir las filas o registros
de datos, que estaran en el resultado de la consulta.
Su sintaxis es:
WHERE condicionWhere
Por ejemplo:
Devolver un listado con todos los campos de los artculos a reponer.
SELECT * FROM articulos WHERE stock_min > cant

OPERADORES DE COMPARACIN

< , >, <>, <=, >=, =


BETWEEN: Utilizado para especificar un intervalo de valores.
Utilizado en tipos String, numricos y de fechas.
LIKE: Utilizado en la comparacin de un patrn. El carcter % se
utiliza como comodn y el _, de comodn posicional
IN: Utilizado para saber si el valor de un campo se encuentra en una
lista de valores
IS: Para verificar si un atributo tiene un valor nulo (NULL)

En una condicion, se pueden cotejar con operadores de comparacin, columnas


con otras columnas o con expresiones del tipo de la columna, las expresiones se
pueden conectar con otras por medio de operadores lgicos.
OPERADORES LGICOS

AND Concatena dos condiciones con Y


OR Vincula dos condiciones con O
NOT Niega la expresion que precede
XOR Enlaza dos condiciones con O Exclusiva

Por ejemplo:
SELECT * FROM articulos WHERE desc like A% AND desc like %K
Listados de artculos cuya descripcin empieza con la letra A y termina con la letra
K
SELECT * FROM articulos WHERE stock_min < 15 OR stock_max > 40
Devuelve los artculos cuyo stock mnimo sea menor a 15 o el mximo sea mayor
a 40

FUNCIONES AGREGADAS
SQL proporciona funciones agregadas que toma el nombre de una columna como
argumento. El valor del operador agregado se calcula sobre todos los valores de la
columna especificada en la tabla completa.
Estas funciones se pueden combinar con la clusula GROUP BY que se vera mas
adelante.
Las funciones agregadas son:
o
o
o
o
o

AVG (Calcula el promedio)


COUNT (Cuenta la cantidad de registros)
SUM (Suma los valores de una columna)
MIN (Calcula el mnimo valor de una columna)
MAX (Calcula el mximo valor de una columna)

Clusula ORDER BY
Ordena los resultados de la consulta, en base a los datos de una o ms columnas.
Si se omite, los resultados saldrn ordenados conforme estan alojados fisicamente
Su sintaxis es:
ORDER BY
[ASC|DESC] ][,...];

expresin_orden1

[ASC|DESC]

Por ejemplo:
SELECT art AS Numero_Art, Pv.prov AS Numero_prov,
Nombre, Precio_Venta

[,

expresin_orden2

FROM Proveedores Pd, Provee Pv


WHERE Pd.prov = Pv.prov
ORDER BY art
Esta consulta devuelve un listado con los artculos, que proveedores lo
suministran y su respectivo precio de venta. El listado esta ordenado
ascendentemente por el nmero de artculo. Tambin se puede observar la
utilizacin de alias tanto en el nombre de tablas como en el de columnas.
Clusula GROUP BY
La clusula GROUP BY especifica una consulta sumaria. En vez de producir una
fila de resultados por cada fila de datos de la base de datos, agrupa todas las filas
similares y luego produce una fila sumaria de resultados para cada grupo.
Su sintaxis:
[GROUP BY expr_columna_group1 [,expr_columna_group2] [,...]]
Donde:
expr_columna_groupN deben coincidir con las expresin de columna utilizada en
la clusula SELECT.
Clusula Having
La clusula HAVING trabaja muy similarmente a la clusula WHERE, y se utiliza
para considerar slo aquellos grupos que satisfagan la condicin dada en la
clusula HAVING.
Su sintaxis es:
HAVING condicionHaving
Donde condicionHaving es la condicin que deben cumplir los grupos. Las
expresiones permitidas en la clusula HAVING deben involucrar funciones
agregadas
Por ejemplo:
Retornar un listado con los nmeros de artculos y el precio promedio de venta de
los artculos cuyo precio promedio de venta de los proveedores es menor a $2.
SELECT art, AVG(precio_venta)

FROM Provee
GROUP BY art
Having AVG(precio_venta) < 2;
Reuniones (JOIN)
Se utilizan para vincular dos o ms tablas, y proporcionar informacin como si se
tratara de una sola.
Para ello, se expresan los nombres de las tablas en la clusula FROM y su
sintaxis es:
FROM Tabla1, Tabla2
Adems, en la clusula WHERE se escribe la ecuacin que indica, a travs de que
atributos se vinculan
WHERE Tabla1.Atributo k = Tabla2.Atributo j
Mostrar el nombre del cliente y el de los artculos que ha comprado.
-

SELECT clientes.nombre, articulos.desc


FROM clientes, compran, articulos
WHERE clientes.cli = compran.cli
AND compran.art = articulos.art

SELECT C.nombre, A.desc


FROM clientes C, compran C1, articulos A
WHERE C.cli = C1.cli
AND C1.art = A.art

SUBQUERY
Condiciones

Entrega una sola columna


Esta debe proporcionar un valor compatible con el usado en la clusula
WHERE HAVING
En ocasiones, puede entregar una lista de valores, en cuyo caso, los
comparadores a usar son: IN, ANY, ALL
Se pueden anidar hasta 16 subqueries
sta facilidad puede sustituir al JOIN en algunos casos

Comparadores especiales

IN Se usa para comparar con igualdad una serie de valores


ANY Se aplica para comparar con CUALESQUIER valor de una lista
ALL Se usa para comparar con TODOS los valores de una serie

Estas son las principales caractersticas con las que cuenta el lenguaje ANSI SQL,
su uso y las ventajas que nos ofrece si lo usamos.

CONCLUSION
El lenguaje de consulta estructurado de ANSI nos permite manejar nuestra base
de datos de manera rpida y confiable, con la seguridad de recibir los informes tal
y como sean requeridos por los usuarios.
Con la ayuda de los sublenguajes que contienen las distintas versiones se nos
hace mas practico el uso de esta herramienta. El uso de los comandos DML,
conforman la base para una preparacin adecuada, en la construccin de
aplicaciones con BD. Las aplicaciones manejan comandos de insert, delete,
update y select, contra la base de datos.
Con lo anteriormente mencionado, podemos darnos cuenta que aun pasando los
aos este lenguaje es y seguir siendo una ayuda incomparable para el manejo de
la base de datos, y tambin podemos decir que aunque s, ha tenido diversas
variaciones a lo largo de los aos, todas han sido para mejorar el rendimiento del
mismo.

FUENTES DE INFORMACIN

www.monografas.com
www.abcdatos.com
www.espanol.yahoo.com
www.ibm.com

También podría gustarte