tutorial sql

11
Manipulación de Manipulación de Bases de Datos usando Bases de Datos usando Lenguaje de consulta Lenguaje de consulta SQL. SQL. Por: Marco Toro C.

Upload: marco-toro

Post on 24-May-2015

2.194 views

Category:

Documents


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Tutorial Sql

Manipulación de Manipulación de Bases de Datos usando Bases de Datos usando

Lenguaje de consulta SQL.Lenguaje de consulta SQL.

Por: Marco Toro C.

Page 2: Tutorial Sql

¿Qué es SQL?¿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.

Page 3: Tutorial Sql

• Sus instrucciones constan de: LOCALIZACIÓN + ACCIÓN

• Dos tipos de instrucciones: recuperación y actualización

• Acciones de actualización: inserción, borrado, modificación

• Tres instrucciones: INSERT, DELETE, UPDATE

• Acción de recuperación: selección

• Instrucciones: SELECT

Lenguaje ManipulaciónLenguaje Manipulación

Page 4: Tutorial Sql

• INSERT INTO <tabla> [(<columna> [{,<columna>}]) ]

{ VALUES(<expresión> [{,<expresión>}]) | <subquery> }

Ejemplos: • INSERT INTO stock VALUES(‘turrón’,299,’AG-23’);

• INSERT INTO stock (nombre,cod_barras) VALUES(‘turrón’,’AG-23’);

• INSERT INTO stock (nombre,precio,cod_barras) SELECT (name, price*change, barcode) FROM products, euro_cot WHERE euro_cot.name=‘peseta’;

Inserción de tuplasInserción de tuplas

Page 5: Tutorial Sql

• DELETE [FROM] <tabla> [<alias>] [WHERE <condición>]

Ejemplos: • DELETE stocks;• DELETE FROM stocks WHERE f_caducidad<SYSDATE;

• UPDATE <tabla> SET{<columna> = {<expresión>|<subquery>}

| (<columna> [{,<columna>}])=<subquery> }[WHERE <condición>]

Ejemplos: • UPDATE gente SET edad=25 WHERE nombre=‘Javi’;• UPDATE stock a SET precio =

SELECT a.precio*b.change FROM euro_cot b WHERE b.name=‘peseta’;

Borrado y ModificaciónBorrado y Modificación

Page 6: Tutorial Sql

• En Oracle, los cambios que se operan sobre el contenido de la Base se realizan sobre transacciones

• Una transacción es un conjunto de operaciones que se ejecutan conjuntamente sobre la Base

• Al actualizar la Base, los cambios sólo tendrán lugar si se perpetra la transacción (en otro caso, se pierden)

• Para que una transacción se perpetre: COMMIT;

• Para que una transacción se elimine: ROLLBACK; (este comando puede asemejarse a una operación ‘deshacer’)

Control TransaccionalControl Transaccional

Page 7: Tutorial Sql

• SELECT [ALL|DISTINCT] <lista de selección>FROM <cláusula de origen>[WHERE <condición> ][GROUP BY <expresión> [HAVING <condcn>]][{UNION|UNION ALL|MINUS|INTERSECT} <query>][ORDER BY <expresión> [ASC|DESC]] ;

• La cláusula FROM crea una ‘tabla resultado’ (denominada área de trabajo)

• La cláusula WHERE ‘filtra’ las tuplas de esa tabla (según una condición)

• La ‘lista de selección’ describe qué información se desea obtener (proyección)

• La cláusula ORDER BY ordena los resultados (según una clave de ordenación)

• Los operadores de consulta (UNION,...) combinan consultas (compatibles)

• y la cláusula GROUP BY...

Consulta: la sentencia Consulta: la sentencia SELECTSELECT

Page 8: Tutorial Sql

La cláusula from contiene una tabla (con o sin alias), o varias tablas combinadas. Las combinaciones se revisan a continuación:

• Producto Cartesiano:

... FROM Gente CROSS JOIN Clientes… FROM Gente, Clientes…

• Combinación natural: ... FROM Gente [NATURAL] JOIN Clientes

[USING <columnas> | ON <col_a>=<col_b> [AND...]]

•... FROM X NATURAL JOIN Y... Combinación Natural por todos los campos que se llamen igual en ambos esquemas

•... FROM X NATURAL JOIN Y USING (<columnas>)... Combinación Natural por los campos especificados, que han de llamarse igual en ambas tablas

•... FROM X JOIN Clientes ON <condición>...Combinación por la condición especificada (puede ser natural, si es de igualdad)

Sentencia Sentencia SELECT SELECT Cláusula Cláusula FROMFROM

Page 9: Tutorial Sql

<lista de selección>: Proyección de la Consulta

• Se trata de una lista con las informaciones que se desea obtener

• Los elementos de la lista vendrán separados por comas.

• Ha de ser posible obtenerlas del área de trabajo (from).

• Puede incluir:

• atributos del esquema de relación del área de trabajo, o el comodín (*)

• variables del sistema, como por ejemplo SYSDATE

• pseudo-columnas, tal como por ejemplo ROWNUM, table.ROWID,...

• funciones de agregación, si se ha establecido criterio de agrupación

• expresiones construidas a partir de lo anterior

Consulta: la sentencia Consulta: la sentencia SELECTSELECT

Page 10: Tutorial Sql

Selecciona tuplas siguiendo una condición, que puede ser:• una comparación (=, !=, <, >, <=, >=) de expresiones

- pueden ser listas de expresiones o una subquery- la segunda puede ir cuantificada (SOME, ANY, ALL)

• test de inclusión (en conjunto o subquery): <expr> [NOT] IN {<expr_list>|subquery}

• test de inclusión (en rango): <expr> [NOT] BETWEEN <expr> AND <expr>

• test de valor nulo:<expr> IS [NOT] NULL

• test de semejanza:<expr_caracteres> [NOT] LIKE <patrón>

• test de existencia:EXISTS subquery

• operación lógica (NOT, AND, OR) sobre otras condiciones

Sentencia Sentencia SELECT SELECT Cláusula Cláusula WHEREWHERE

Page 11: Tutorial Sql

• SELECT * FROM EMPLEADOS;

• SELECT SYSDATE FROM DUAL;

• SELECT COUNT(‘X’) FROM FACTURAS;

• SELECT rownum, nombre FROM ALUMNOS;

• SELECT * FROM LIBROS MINUS SELECT * FROM NOVELAS;

• SELECT * FROM PERSONAS JOIN COCHES;

• SELECT * FROM PERSONAS p, COCHES cWHERE p.DNI=c.DNI;

• SELECT marca, modelo FROM COCHESWHERE precio < 10000000;

• SELECT título FROM LIBROS WHERE rownum<=5;

Ejemplos Sentencia Ejemplos Sentencia SELECTSELECT