Tutorial Sql

2,591 views

Published on

Presentación en Power Point sobre el lenguaje de consulta SQL.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,591
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
151
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tutorial Sql

  1. 1. Manipulación de Bases de Datos usando Lenguaje de consulta SQL. Por: Marco Toro C.
  2. 2. ¿Qué es SQL? El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet.
  3. 3. <ul><li>Sus instrucciones constan de: LOCALIZACIÓN + ACCIÓN </li></ul><ul><li>Dos tipos de instrucciones: recuperación y actualización </li></ul><ul><li>Acciones de actualización: inserción, borrado, modificación </li></ul><ul><li>Tres instrucciones: INSERT , DELETE , UPDATE </li></ul><ul><li>Acción de recuperación: selección </li></ul><ul><li>Instrucciones: SELECT </li></ul>Lenguaje Manipulación
  4. 4. <ul><li>INSERT INTO <tabla> </li></ul><ul><li>[( <columna> [{, <columna> }]) ] </li></ul><ul><li>{ VALUES( <expresión> [{, <expresión> }]) </li></ul><ul><li> | <subquery> } </li></ul><ul><li>Ejemplos: </li></ul><ul><ul><li>INSERT INTO stock VALUES(‘turrón’,299,’AG-23’); </li></ul></ul><ul><ul><li>INSERT INTO stock (nombre,cod_barras) </li></ul></ul><ul><ul><li>VALUES(‘turrón’,’AG-23’); </li></ul></ul><ul><ul><li>INSERT INTO stock (nombre,precio,cod_barras) </li></ul></ul><ul><ul><li>SELECT (name, price*change, barcode) </li></ul></ul><ul><ul><li> FROM products, euro_cot </li></ul></ul><ul><ul><li> WHERE euro_cot.name=‘peseta’; </li></ul></ul>Inserción de tuplas
  5. 5. <ul><li>DELETE [FROM] <tabla> [ <alias> ] </li></ul><ul><li> [WHERE <condición> ] </li></ul><ul><ul><li>Ejemplos: </li></ul></ul><ul><ul><li>DELETE stocks; </li></ul></ul><ul><ul><li>DELETE FROM stocks WHERE f_caducidad<SYSDATE; </li></ul></ul><ul><li>UPDATE <tabla> SET </li></ul><ul><li>{ <columna> = { <expresión> | <subquery> } </li></ul><ul><li>| ( <columna> [{, <columna> }])= <subquery> } </li></ul><ul><li>[WHERE <condición> ] </li></ul><ul><ul><li>Ejemplos: </li></ul></ul><ul><ul><li>UPDATE gente SET edad=25 WHERE nombre=‘Javi’; </li></ul></ul><ul><ul><li>UPDATE stock a SET precio = </li></ul></ul><ul><ul><ul><ul><ul><li>SELECT a.precio*b.change FROM euro_cot b </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li> WHERE b.name=‘peseta’; </li></ul></ul></ul></ul></ul>Borrado y Modificación
  6. 6. <ul><li>En Oracle, los cambios que se operan sobre el contenido de la Base se realizan sobre transacciones </li></ul><ul><li>Una transacción es un conjunto de operaciones que se ejecutan conjuntamente sobre la Base </li></ul><ul><li>Al actualizar la Base, los cambios sólo tendrán lugar si se perpetra la transacción (en otro caso, se pierden) </li></ul><ul><li>Para que una transacción se perpetre: COMMIT; </li></ul><ul><li>Para que una transacción se elimine: ROLLBACK; </li></ul><ul><li>(este comando puede asemejarse a una operación ‘deshacer’) </li></ul>Control Transaccional
  7. 7. <ul><li>SELECT [ALL|DISTINCT] <lista de selección> </li></ul><ul><li>FROM <cláusula de origen> </li></ul><ul><li>[WHERE <condición> ] </li></ul><ul><li>[GROUP BY <expresión> [HAVING <condcn> ]] </li></ul><ul><li>[ {UNION|UNION ALL|MINUS|INTERSECT} <query> ] </li></ul><ul><li>[ORDER BY <expresión> [ASC|DESC]] ; </li></ul><ul><li>La cláusula FROM crea una ‘tabla resultado’ (denominada área de trabajo) </li></ul><ul><li>La cláusula WHERE ‘filtra’ las tuplas de esa tabla (según una condición) </li></ul><ul><li>La ‘lista de selección’ describe qué información se desea obtener (proyección) </li></ul><ul><li>La cláusula ORDER BY ordena los resultados (según una clave de ordenación) </li></ul><ul><li>Los operadores de consulta ( UNION ,...) combinan consultas (compatibles) </li></ul><ul><li>y la cláusula GROUP BY... </li></ul>Consulta: la sentencia SELECT
  8. 8. <ul><li>La cláusula from contiene una tabla (con o sin alias), o varias </li></ul><ul><li>tablas combinadas. Las combinaciones se revisan a continuación: </li></ul><ul><li>Producto Cartesiano : </li></ul><ul><li>... FROM Gente CROSS JOIN Clientes…  FROM Gente, Clientes… </li></ul><ul><li>Combinación natural : </li></ul><ul><li>... FROM Gente [NATURAL] JOIN Clientes </li></ul><ul><li>[USING <columnas> | ON <col_a>=<col_b> [AND...]] </li></ul><ul><ul><li>... FROM X NATURAL JOIN Y... </li></ul></ul><ul><ul><li>Combinación Natural por todos los campos que se llamen igual en ambos esquemas </li></ul></ul><ul><ul><li>... FROM X NATURAL JOIN Y USING (<columnas>)... </li></ul></ul><ul><ul><li>Combinación Natural por los campos especificados, que han de llamarse igual en ambas tablas </li></ul></ul><ul><ul><li>... FROM X JOIN Clientes ON <condición>... </li></ul></ul><ul><ul><li>Combinación por la condición especificada (puede ser natural, si es de igualdad) </li></ul></ul>Sentencia SELECT Cláusula FROM
  9. 9. <ul><li><lista de selección>: Proyección de la Consulta </li></ul><ul><li>Se trata de una lista con las informaciones que se desea obtener </li></ul><ul><li>Los elementos de la lista vendrán separados por comas. </li></ul><ul><li>Ha de ser posible obtenerlas del área de trabajo (from). </li></ul><ul><li>Puede incluir: </li></ul><ul><ul><li>atributos del esquema de relación del área de trabajo, o el comodín (*) </li></ul></ul><ul><ul><li>variables del sistema, como por ejemplo SYSDATE </li></ul></ul><ul><ul><li>pseudo-columnas, tal como por ejemplo ROWNUM, table.ROWID,... </li></ul></ul><ul><ul><li>funciones de agregación, si se ha establecido criterio de agrupación </li></ul></ul><ul><ul><li>expresiones construidas a partir de lo anterior </li></ul></ul>Consulta: la sentencia SELECT
  10. 10. <ul><li>Selecciona tuplas siguiendo una condición , que puede ser: </li></ul><ul><ul><li>una comparación (=, !=, <, >, <=, >=) de expresiones </li></ul></ul><ul><ul><ul><li>pueden ser listas de expresiones o una subquery </li></ul></ul></ul><ul><ul><ul><li>la segunda puede ir cuantificada (SOME, ANY, ALL) </li></ul></ul></ul><ul><ul><li>test de inclusión (en conjunto o subquery): </li></ul></ul><ul><ul><li><expr> [NOT] IN {<expr_list>|subquery} </li></ul></ul><ul><ul><li>test de inclusión (en rango): </li></ul></ul><ul><ul><li><expr> [NOT] BETWEEN <expr> AND <expr> </li></ul></ul><ul><ul><li>test de valor nulo: </li></ul></ul><ul><ul><li><expr> IS [NOT] NULL </li></ul></ul><ul><ul><li>test de semejanza: </li></ul></ul><ul><ul><li><expr_caracteres> [NOT] LIKE <patrón> </li></ul></ul><ul><ul><li>test de existencia: </li></ul></ul><ul><ul><li>EXISTS subquery </li></ul></ul><ul><ul><li>operación lógica (NOT, AND, OR) sobre otras condiciones </li></ul></ul>Sentencia SELECT Cláusula WHERE
  11. 11. <ul><li>SELECT * FROM EMPLEADOS; </li></ul><ul><li>SELECT SYSDATE FROM DUAL; </li></ul><ul><li>SELECT COUNT(‘X’) FROM FACTURAS; </li></ul><ul><li>SELECT rownum, nombre FROM ALUMNOS; </li></ul><ul><li>SELECT * FROM LIBROS </li></ul><ul><li>MINUS </li></ul><ul><li>SELECT * FROM NOVELAS; </li></ul><ul><li>SELECT * FROM PERSONAS JOIN COCHES; </li></ul><ul><li>SELECT * </li></ul><ul><li>FROM PERSONAS p, COCHES c </li></ul><ul><li>WHERE p.DNI=c.DNI; </li></ul><ul><li>SELECT marca, modelo </li></ul><ul><li>FROM COCHES </li></ul><ul><li>WHERE precio < 10000000; </li></ul><ul><li>SELECT título FROM LIBROS WHERE rownum<=5; </li></ul>Ejemplos Sentencia SELECT

×