Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ANSI SQL

18,472 views

Published on

  • Be the first to comment

ANSI SQL

  1. 1. UNIVERSIDAD VERACRUZANA SISTEMAS COMPUTACIONALES ADMINISTRATIVOS CATEDRÁTICO: DR. CARLOS ARTURO TORRES GASTELU ALUMNA: MARTHA TERESA LECHUGA GONZALEZ ANSI-SQL Y SUS VARIACIONESEE: BASE DE DATOS 16 DE SEPTIEMBRE DEL 2011
  2. 2. INTRODUCCIÓNANSI SQL ah sufrido diversas modificaciones a lo largo del tiempo, obteniendoaportaciones a sus diferentes versiones, en el siguiente documento se muestranlas distintas características que se han agregado, así como las que handesaparecido, ya que se incluyeron nuevas y mejores, para tener los resultadosdeseados de una manera más fácil.Entre las muchas características con las que cuentan ANSI SQL se puedenclasificar de acuerdo a su modo de utilización el cual tiene divisiones tales comoSQL interactivo donde ocurre una ejecución directa, modos SQL-cliente aquí semuestran procedimientos almacenados, entre otros modos que nos puedenayudar a utilizar el SQL prácticamente.ANSI SQL cuenta con una variada gama de elementos los cuales nos permitenrealizar las ordenes SQL, abarcando palabras predefinidas, nombre de los objetos,constantes, delimitadores, operadores, datos nulos, entre otros, pudiendo nosotroscomo administradores tener una sintaxis donde se entienda de manera clara yconcisa lo que necesita obtener de la base de datos.Además de contar con las características mencionadas anteriormente, ANSI SQLsoporta una amplia variedad de datos, ya sea de tipo carácter, numérica o cadenade caracteres por mencionar algunos, esto nos permite poder ingresar un mayornumero de datos, de diferente tipo.ANSI SQL tiene un grupo de subconjuntos SQL con los que podemos trabajar deacuerdo a las necesidades que tengamos, se pueden desglosar de la siguientemanera, encontrando DQL (lenguaje de consulta de datos), DML (lenguaje demanipulación de datos), DDL (lenguaje de definición de datos), DCL (lenguaje decontrol de datos), entre otros.A continuación se detallaran las características mencionadas anteriormente, ytambién se efectuara una actualización de los datos aquí mencionados, aportandonuevas características y mejoras que se han incluido en ANSI SQL de nuevasversiones.
  3. 3. ANSI SQL HISTORIALos orígenes del SQL están ligados a los de las bases de datos relacionales. En1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguajede acceso a los datos basado en el cálculo de predicados. Basándose en estasideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured EnglishQUEry Language) que más tarde sería ampliamente implementado por el SGBD(Sistemas Gestores de Bases de Datos) experimental System R, desarrollado en1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vezen 1979 en un programa comercial.El SEQUEL terminaría siendo el predecesor de SQL, siendo éste una versiónevolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de losdiversos SGBD relacionales surgidos en los años siguientes y es por finestandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar deeste lenguaje, el "SQL-86" o "SQL1". Al año siguiente este estándar es tambiénadoptado por la ISO.En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM)como estándar para los lenguajes relacionales y en 1987 se transfomó enestándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los añossiguientes, éste ha sufrido diversas revisiones que han conducido primero a laversión SQL/89 y, posteriormente, a la actual SQL/92.El hecho de tener un estándar definido por un lenguaje para bases de datosrelacionales abre potencialmente el camino a la intercomunicabilidad entre todoslos productos que se basan en él. Desde el punto de vista práctico, por desgracialas cosas fueron de otro modo. Efectivamente, en general cada productor adopta eimplementa en la propia base de datos sólo el corazón del lenguaje SQL (el asíllamado Entry level o al máximo el Intermediate level), extendiéndolo de maneraindividual según la propia visión que cada cual tenga del mundo de las bases dedatos.Actualmente, está en marcha un proceso de revisión del lenguaje por parte de loscomités ANSI e ISO, que debería terminar en la definición de lo que en estemomento se conoce como SQL3. Las características principales de esta nuevaencarnación de SQL deberían ser su transformación en un lenguaje stand-alone(mientras ahora se usa como lenguaje hospedado en otros lenguajes) y laintroducción de nuevos tipos de datos más complejos que permitan, por ejemplo,el tratamiento de datos multimediales.
  4. 4. CARACTERÍSTICAS GENERALESLas características generales de ANSI SQL no han sido modificadas de maneramuy significativa a lo largo de sus versiones ya que, siguen el mismo patrón defuncionamiento, con algunos cambios pero todo sin afectar su estructura, siemprecon la intención de mejorar el producto.El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad ypotencia de los sistemas relacionales permitiendo gran variedad de operacionesen éstos últimos.Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias asu fuerte base teórica y su orientación al manejo de conjuntos de registros, y no aregistros individuales, permite una alta productividad en codificación y laorientación a objetos. De esta forma una sola sentencia puede equivaler a uno omás programas que utilizas en un lenguaje de bajo nivel orientado a registro. OPTIMIZACIÓNComo ya se dijo arriba, y suele ser común en los lenguajes de acceso a bases dedatos de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica quées lo que se quiere y no cómo conseguirlo, por lo que una sentencia no estableceexplícitamente un orden de ejecución.El orden de ejecución interno de una sentencia puede afectar gravemente a laeficiencia del SGBD, por lo que se hace necesario que éste lleve a cabo unaoptimización antes de su ejecución. Muchas veces, el uso de índices acelera unainstrucción de consulta, pero ralentiza la actualización de los datos. Dependiendodel uso de la aplicación, se priorizará el acceso indexado o una rápidaactualización de la información. La optimización difiere sensiblemente en cadamotor de base de datos y depende de muchos factores.Existe una ampliación de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) quepermite el acceso a bases de datos difusas, usando la lógica difusa. Este lenguajeha sido implementado a nivel experimental y está evolucionando rápidamente.A continuación se mostrara una breve historia de las versiones que han venidoconstruyendo ANSI SQL a lo largo de su historia.
  5. 5. SQL-89En 1986, el ANSI adopto SQL (sustancialmente adopto el dialecto SQL de IBM)como estándar para los lenguajes relacionales y en 1987 se transformo en elestándar ISO. Esta versión estándar tenía el nombre de SQL-86. En 1989 ANSIdefinió SQL-89 basada en la anterior pero con una serie de mejoras entre las quedestacan:  Definición de clave primarias  Integridad de datosUna característica importante de esta versión era la posibilidad de utilizarse através de dos interfaces, de manera interactiva y por medio de programas deaplicación.En la primera versión de SQL-89 se tienen tres partes esenciales: Lenguaje de Definición de Datos DDLContiene todas las instrucciones para definir el esquema de una base de datos,como son CREATE (para la creación de tablas), ALTER (sirve para modificar losdatos o las tablas) y DROP (para eliminar las tablas o registros de una BD). Lenguaje de Manipulación de Datos DMLContiene 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)También contiene instrucciones como commit y rollback para el control deconcurrencia de los datos. Lenguaje de Control de Datos DCLContiene aquellas instrucciones para dar y revocar y permisos de acceso a losdatos de la base de datos, como GRANT para otorgar permisos a losadministradores y REVOKE para quitar dichos permisos.
  6. 6. Todas estas instrucciones pueden ir embebidas en programas escritos endiferentes lenguajes de programación tales como: COBOL, FORTRAN, PASCAL tPL/1.Para completar la sentencia es necesaria una clausula, la cual especifica los datossobre los que debe actuar la sentencia, o proporcionar mas detalles acerca de loque la sentencia debe hacer. Todas las clausulas comienzan con palabras clavecomo: WHERE, FROM, INTO y HAVING. SQL-92SQL además de permitirnos consultas en la base de datos, contiene primitivas dedefinición de tablas, actualización de la base de datos, definición de vistas deotorgamiento de privilegios, etc. A continuación se muestran algunos aspectos delestándar ANSI-SQL92. Definición de esquemasLa definición de un esquema es simple. Solo se necesita identificar el comienzo dela definición con una instrucción CREATE SCHEMA y una clausula adicional deAUTHORIZATION y a continuación definir cada dominio, tabla, vista, etc., en elesquema.El dueño o propietario del esquema puede otorgar privilegios de acceso yactualización de la base de datos definida en el esquema a otros usuarios. Tipo de datos y dominioUn dominio es el conjunto del cual toma sus valores una columna de una relación.Según este concepto, los tipos de datos predefinidos son dominios.Adicionalmente ANSI-SQL92 permite la definición de dominios por parte de losusuarios.NUMEROS EXACTOSInteger EnterosSmall integer Enteros pequeñosNumeric p, e P: precisión: total de números o dígitos en el numeroDecimal p, e Precisión y escala
  7. 7. NUMEROS APROXIMADOSRealDoublé precisiónFloatCADENA DE CARACTERESCarácter CarácterCharacter varying Carácter variableCADENA DE BITSBitBit varyingFECHAS Y HORASDate FechaTime HoraTimestamp Sello de tiempoTimestamp con tiempo zonalTime con tiempo zonalINTERVALOSYear-month Año-mesDay-time Día-hora
  8. 8. Definición de dominiosLos tipos de datos con restricciones (constraints) y valores por defecto (defaultvalues) se pueden combinar en la definición de dominios. Una definición dedominio es un tipo de datos especializado que puede estar definido dentro de unaesquema y usado en la definición 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 lassiguientes características:  Su tipo de datos es numérico de cuatro dígitos  Su valor por defecto es cero  Nunca podrá ser nulo Definición de tablasLas 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
  9. 9. LA EVOLUCION DE ANSI-SQLAÑO NOMBRE ALIAS COMENTARIO1986 SQL-86 SQL-87 Primera publicación hecha por ANSI. Confirmada por ISO en 1987.1989 SQL-89 Revisión menor.1992 SQL-92 SQL2 Revisión mayor.1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para relaciones jerárquicas), triggers y algunas características orientadas a objetos.2003 SQL:2003 Introduce algunas características de XML, cambios en las funciones, estandarización del objeto sequence y de las columnas auto numéricas.2006 SQL:2006 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, manipulándolos dentro de la base de datos y publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a las aplicaciones integrar dentro de su código 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.2008 SQL:2008 Permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo INSTEAD OF. Añade la sentencia TRUNCATE.En la tabla anterior se muestran algunas de las variaciones que se le han hecho allenguaje de SQL a lo largo de los años y de las versiones que han surgido. Comose puede observar son cambios muy pequeños, aunque significativos, ya queaportan nuevas sentencias, soportan un mayor tipo de datos, y el lenguaje tantode manipulación DML como de definición de datos DDL han crecido a través deltiempo.
  10. 10. Aún cuando se describe a SQL como un lenguaje de consulta, en realidad esmucho más que eso, ya que dispone de otras funciones además de las deconsultar una Base de Datos. Entre éstas se incluyen las relativas a:  definición de datos.  manipulación de los datos de la Base de Datos.  especificar restricciones de acceso y seguridad.Cada función tiene su conjunto propio de instrucciones, que se expresanrespectivamente en:  Lenguaje de Definición de Datos (LDD)  Lenguaje de Manipulación de Datos (LMD)  Lenguaje de Control de Datos (LCD)  COMANDOS DDLCOMANDO DESCRIPCIONCREATE Utilizado para crear nuevas tablas, campos e índicesDROP Empleado para eliminar tablas e índiceALTER Utilizado para modificar las tablas agregando campos.TRUNCATE Trunca todo el contenido de una tablaA continuación se muestran los comandos con sus respectivas sintaxis así comoalgunos ejemplos para dejar más clara la explicación.CREATECREATE TABLE Nombre-Tabla(Definición de columna [, definición de columna...) Por ejemplo:CREATE TABLE Alumnos ( Nombre CHAR(35), Sexo CHAR(1), TelefonoINTEGER, FechaNac DATE, CuotaMes DECIMAL(7,2) )
  11. 11. ALTERALTER TABLE Nombre-Tabla ADD columna tipo de dato Por ejemplo:ALTER TABLE Prueba ADD Descuento SMALLINTDROPDROP TABLETambién es posible eliminar en cualquier momento una tabla existente. Se pierdetodo.DROP TABLE Nombre-Tabla Por ejemplo:DROP TABLE PruebasTRUCATE Por ejemplo:TRUNCATE TABLE TABLA_NOMBRE1 COMANDOS DML Comando INSERTEste comando se utiliza para agregar uno o más registros (filas). Se puede utilizarpara efectuar dos tipos de operaciones:  Insertar un único registro  Insertar en una tabla los registros contenidos en otra.• Comando INSERT para un registro:
  12. 12. INSERT INTO destino [(campo1 [, campo2[, ...]])]VALUES (valor1[, valor2[,...])• Comando INSERT para insertar más de un registro: INSERT INTO destino {[(campo1[, campo2[, ...]])] selecciónARGUMENTO DESCRIPCIONDestino El nombre de la tabla donde se van a añadir registros.Campo N Los nombres de los campos donde se van a añadir los datos, si está a continuación del argumento destino, o los nombres de los campos de donde se obtienen los datos, si está a continuación de un argumento origen.Selección Es una expresión de selección que debe tener el mismo número de columnas y tipos que las columnas a insertar. Los registros que de cómo resultado la expresión SELECT serán agregados en la tabla destino (ver comando SELECT). Esto permite insertar en una tabla varios registros.Valor N Los valores que se van a insertar en los campos específicos del nuevo registro. Cada valor se inserta en el campo que corresponde a la posición 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 apóstrofos ( „ ) y las fechas indicarlas en formato dd/mm/aa y entre apóstrofos.Ejemplo INSERTINSERT 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 artículos, pero en el campocantidad no se pone ningún valor (Valor nulo).
  13. 13. Comando UPDATEPara cambiar uno o más valores de campos de registros en una tabla, se utiliza elcomando UPDATE.Su sintaxis es: UPDATE tabla SET campo1 = valor1 [, campo2 = valor2 [, ...]] WHEREcondición;ARGUMENTO DESCRIPCIONTabla Nombre de la tabla cuyos datos desea modificar.Campo N Nombre del campo cuyo valor se actualizará.Valor N Expresión cuyo valor tomara el campo N. La expresión debe ser del tipo del campo.Condición Una expresión que determina qué registros se actualizarán. Sólo se actualizan los registros que satisfacen la expresión.Ejemplo UPDATE 1) UPDATE artículos SET precio = precio * 1.2;Esta instrucción incrementa los precios de todos los artículos en un 20 por ciento. 2) UPDATE artículos SET precio = precio * 1.2WHERE precio <2;La ejecución de este comando incrementa los precios de los artículos cuyo precioes menor a $2, en un 20 por ciento.
  14. 14. Comando DELETEEl comando DELETE se utiliza para borrar uno o varios registros de una tablaparticular.Su sintaxis es: DELETE FROM tabla [WHERE condicion];ARGUMENTO DESCRIPCIONTabla Nombre de la tabla cuyos registros se van a eliminarCondición Expresión que determina que registros se van a eliminarEn caso de omitir la condición WHERE se eliminaran todos los registros.Ejemplo de DELETE DELETE FROM proveedores;La ejecución de este comando producirá que la tabla proveedores quede vacía. DELETE FROM proveedores WHERE prov=200;Este comando elimina el registro correspondiente al proveedor número 200.Comando SELECTEl comando más usado en SQL es la instrucción SELECT, que se utiliza pararecuperar datos de diferentes tablas de una base de datos.Consta de seis cláusulas: las dos primeras (SELECT y FROM) obligatorias y lascuatro 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] [,...]]
  15. 15. [HAVING condicionHaving]] [{UNION [ALL] | INTERSECT | EXCEPT} SELECT ...][ORDER BY nombre_campo_i1 [ASC|DESC] [, nombre_campo_j1[ASC|DESC]][,...]]];La cláusula SELECT lista los datos a recuperar por la sentencia SELECT. Loselementos o datos a seleccionar, pueden ser columnas de la base de datos ocolumnas a calcular por SQL cuando efectúa la consulta.Su sintaxis es: SELECT [ALL|DISTINCT] { * | expr_columna_1 [AS c_alias_1] [,expr_columna_2 [AS c_alias_2][,...]]}ARGUMENTO DESCRIPCIONALL Si hay registros repetidos en la consulta también son devueltos.DISTINCT 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.Expr_columna_N 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 expresión que la involucre (por Ej.: Precio * 2). También puede ser una función agregada de SQLc_alias_N 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 FROMLa cláusula FROM lista las tablas que contienen los datos a recuperar por laconsulta.La sintaxis de esta cláusula es: FROM nombre_tabla_1 [t_alias_1][, nombre_tabla _n [t_alias_n][,...]]
  16. 16. Por ejemplo:Devolver un listado de artículos con el número, Descripción y precio de cadaartículo.SELECT art, Desc, precio FROM articulos;Cláusula WHEREEn cláusula WHERE se define la condicion que deben cumplir las filas o registrosde datos, que estaran en el resultado de la consulta.Su sintaxis es: WHERE condicionWherePor ejemplo:Devolver un listado con todos los campos de los artículos a reponer.SELECT * FROM articulos WHERE stock_min > cant OPERADORES DE COMPARACIÓN • < , >, <>, <=, >=, = • BETWEEN: Utilizado para especificar un intervalo de valores. Utilizado en tipos String, numéricos y de fechas. • LIKE: Utilizado en la comparación de un patrón. El carácter “%” se utiliza como comodín y el “_”, de comodín 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 comparación, columnascon otras columnas o con expresiones del tipo de la columna, las expresiones sepueden conectar con otras por medio de operadores lógicos. OPERADORES LÓGICOS • 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
  17. 17. Por ejemplo: SELECT * FROM articulos WHERE desc like „A%‟ AND desc like „%K‟Listados de artículos cuya descripción empieza con la letra A y termina con la letraK SELECT * FROM articulos WHERE stock_min < 15 OR stock_max > 40Devuelve los artículos cuyo stock mínimo sea menor a 15 o el máximo sea mayora 40 FUNCIONES AGREGADASSQL proporciona funciones agregadas que toma el nombre de una columna comoargumento. El valor del operador agregado se calcula sobre todos los valores de lacolumna especificada en la tabla completa.Estas funciones se pueden combinar con la cláusula GROUP BY que se vera masadelante.Las funciones agregadas son: o AVG (Calcula el promedio) o COUNT (Cuenta la cantidad de registros) o SUM (Suma los valores de una columna) o MIN (Calcula el mínimo valor de una columna) o MAX (Calcula el máximo valor de una columna)Cláusula ORDER BYOrdena los resultados de la consulta, en base a los datos de una o más columnas.Si se omite, los resultados saldrán ordenados conforme estan alojados fisicamenteSu sintaxis es: ORDER BY expresión_orden1 [ASC|DESC] [, expresión_orden2[ASC|DESC] ][,...];Por ejemplo:SELECT art AS Numero_Art, Pv.prov AS Numero_prov,Nombre, Precio_Venta
  18. 18. FROM Proveedores Pd, Provee PvWHERE Pd.prov = Pv.provORDER BY artEsta consulta devuelve un listado con los artículos, que proveedores losuministran y su respectivo precio de venta. El listado esta ordenadoascendentemente por el número de artículo. También se puede observar lautilización de alias tanto en el nombre de tablas como en el de columnas.Cláusula GROUP BYLa cláusula GROUP BY especifica una consulta sumaria. En vez de producir unafila de resultados por cada fila de datos de la base de datos, agrupa todas las filassimilares 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 expresión de columna utilizada enla cláusula SELECT.Cláusula HavingLa cláusula HAVING trabaja muy similarmente a la cláusula WHERE, y se utilizapara considerar sólo aquellos grupos que satisfagan la condición dada en lacláusula HAVING.Su sintaxis es: HAVING condicionHavingDonde condicionHaving es la condición que deben cumplir los grupos. Lasexpresiones permitidas en la cláusula HAVING deben involucrar funcionesagregadasPor ejemplo:Retornar un listado con los números de artículos y el precio promedio de venta delos artículos cuyo precio promedio de venta de los proveedores es menor a $2. SELECT art, AVG(precio_venta)
  19. 19. FROM Provee GROUP BY art Having AVG(precio_venta) < 2;Reuniones (JOIN)Se utilizan para vincular dos o más tablas, y proporcionar información como si setratara de una sola.Para ello, se expresan los nombres de las tablas en la cláusula FROM y susintaxis es: FROM Tabla1, Tabla2Además, en la cláusula WHERE se escribe la ecuación que indica, a través de queatributos se vinculanWHERE Tabla1.Atributo k = Tabla2.Atributo jMostrar el nombre del cliente y el de los artículos 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
  20. 20. SUBQUERYCondiciones – Entrega una sola columna – Esta debe proporcionar un valor compatible con el usado en la cláusula 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 casosComparadores 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 serieEstas son las principales características con las que cuenta el lenguaje ANSI SQL,su uso y las ventajas que nos ofrece si lo usamos.
  21. 21. CONCLUSIONEl lenguaje de consulta estructurado de ANSI nos permite manejar nuestra basede datos de manera rápida y confiable, con la seguridad de recibir los informes taly como sean requeridos por los usuarios.Con la ayuda de los sublenguajes que contienen las distintas versiones se noshace mas practico el uso de esta herramienta. El uso de los comandos DML,conforman la base para una preparación adecuada, en la construcción deaplicaciones 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 losaños este lenguaje es y seguirá siendo una ayuda incomparable para el manejo dela base de datos, y también podemos decir que aunque sí, ha tenido diversasvariaciones a lo largo de los años, todas han sido para mejorar el rendimiento delmismo.
  22. 22. FUENTES DE INFORMACIÓN– www.monografías.com– www.abcdatos.com– www.espanol.yahoo.com– www.ibm.com

×