SlideShare una empresa de Scribd logo
SQL: MANIPULACION DE DATOS Herramienta: Oracle
5.3.5 Subconsultas Se trata de utilizar una instrucción SELECT completa incluida dentro de otra instrucción SELECT. Se pueden utilizar SELECT internos como subconsultas en: Clausulas WHERE y HAVING INSERT, UPDATE y DELETE Existen tres tipos de subconsultas: Subconsulta escalar Subconsulta de fila Subconsulta de tabla
5.3.5 Subconsultas Las reglas aplicables a las subconsultas son las siguientes: No puede utilizarse la cláusula ORDER BY dentro de una subconsulta. La lista SELECT de la subconsulta debe estar compuesta por un único nombre de columna o expresión. De manera predeterminada, los nombres de columna de una subconsulta hacen referencia al nombre de tabla incluido en la clausula FROM de la subconsulta Cuando una subconsulta actúa como uno de los operandos implicados en una comparación. La subconsulta debe aparecer en el lado derecho de la comparación.
5.3.6 ANY y ALL Las palabras clave ANY y ALL pueden utilizarse con aquellas subconsultas que generan  una única columna de números.  La clave ALL solo será cierta si se ve satisfecha por todos los valores generados por la subconsulta. Si una subconsulta esta precedidad por la clave ANY, la condición sólo será cierta si se va satisfecha por alguno (uno o más) de los valores generados por la subconsulta.
Las palabras clave exist y no exist estan diseñadas para utilizarlas unicamente dentro de una subconsulta. Estas palabras clave producen un simple resultado de tipo verdadero / falso. Exist es verdadera si y solo si existe una fila en la tabla de resultados y  Es falsa si la subconsulta devuelve una tabla de resultados vacia. No exist es la condicion opuesta a exist. Exist y no exist solo comprueban la existencia o no existencia de filas en la tabla de resultados de la subconsulta, la subconsulta puede tener cualquier numero columnas.
SELECT hotelname, city FROM hotel a WHERE EXISTS (select *  FROM room b WHERE a.hotelno = b.hotelno AND type = ‘doble'); MUESTRA TODOS LOS HOTELES DONDE EXISTE RESERVACIONES EN HABITACIONES DOBLES
SELECT notelname, city FROM hotel a WHERE NO EXISTS (select *  FROM room b WHERE a.hotelno = b.hotelno AND type = 'simple'); MUESTRA TODOS LOS HOTELES DONDE NO EXISTE RESERVACIONES EN HABITACIONES SIMPLES
En sql podemos utilizar las operaciones normales de conjuntos union, interseccion y diferencia para combinar los resultados de dos o mas consultas en una unica tabla de resultados. Union de dos tablas a y b, es una tabla que contiene todas las filas que estan incluidas en a, en b o en ambas. Intercepcion de dos tablas es una tabla que contiene todas las filas que son comunes tanto en a como en b. Diferencia de dos tablas es una tabla que contiene todas las filas que están contenidas en a pero no en b.
SELECT * FROM hotel WHERE (hotelno = 10001) UNION SELECT * FROM hotel WHERE (hotelno = 10003); Existen restricciones sobre las tablas que pueden combinarse mediante estas operaciones de conjuntos, siendo la mas importante aquella que explica que las tablas  deben ser compatibles respecto a la union Deben tener la misma estructura, esto implica que las dos tablas pueden contener el mismo numero de columnas y que sus correspondentes columnas deben tener el mismo tipo de dato y longitudes.
RESULTADO DE LA UNION DE LOS ELEMENTOS DE LA TABLA HOTEL
(SELECT hotelno FROM room WHERE (roomno = 20001) INTERSECT SELECT hotelno FROM booking WHERE (roomno = 20001); Al realizar la consulta utilizando intersect, se ejecutan las sentencias generando una tabla de resultados para la primera consulta y otra tabla a partir de la segunda consulta y luego creando una unica tabla de resultados compuesta por todas las filas que sean comunes a ambas tablas.
RESULTADO DE LA INTERCEPCION DE LOS ELEMENTOS DE LAS TABLAS ROOM Y BOOKING
SELECT DISTINCT hotelno FROM Hotel WHERE hotelno NOT IN (SELECT hotelno FROM Room WHERE type = 'Doble'); Al realizar la consulta utilizando except se produce una tabla de resultados a partir de la primera consutla y otra tabla de la segunda, luego se crea una tabla compuesta por las flas que aparecen en la primera tabla de resultados, pero no en la segunda
RESULTADO DE LA DISTINCION DEL NUMERO DE HOTEL EN DONDE EN CUARTOS DOBLES HAY RESERVACIONES Todos excepto estas condiciones
5.3.10 ACTUALIZACIONES  DE LA BASE DE DATOS
SQL nos ofrece tres instrucciones para modificar los contenidos de las tablas de la base de datos. INSERT: añade nuevas filas de datos a una tabla. UPDATE: modifica los datos existentes en una tabla. DELETE: elimina filas de datos de una tabla
Existen dos formas de instrucciones INSERT. La primera permite insertar una única fila en una tabla especificada, y su formato es el siguiente: INSERT INTO Nombre Tabla [(Lista Columnas)] VALUES (lista_valores_datos) La segunda forma de la instrucción INSERT permite copiar múltiples filas de una o más tablas en otra tabla, su formato es: INSERT INTO nombre [(ListaColumnas)] SELECT… INSTRUCCIÓN INSERT
Ejemplos: Insertar una nueva fila en la tabla Hotel.
Permite modificar el contenido de filas ya existentes en una tabla especificada, su formato es: UPDATE NombreTabla SET NombreColumna1= valorDatos1[,NombreColumna2=valorDatos2…]  [WHERE condiciónBúsqueda] La cláusula SET especifica los nombre de una o más columnas que hay que actualizar. INSTRUCCIÓN UPDATE
Ejemplos: Incrementar un 2% el precio de las habitaciones dobles y cambiar el tipo de la habitación doble a simple.
INSTRUCCIÓN DELETE Permite borrar filas de una tabla especificada. El formato del comando es: DELETE FROM NombreTabla [WHERE CondicionBúsqueda] De igual manera la condición de búsqueda es opcional; si se la omite,  todas  las filas serán borradas de la tabla Si necesitamos borrar una tabla, debemos utilizar la instrucción DROP TABLE.
Ejemplos: Borrar una fila de la tabla Hotel donde RoomNo=10005.

Más contenido relacionado

PPTX
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
PPTX
Sql DML Lenguaje de manipulación de datos
PDF
Ejemplo ddl dml
PDF
Comandos ddl y dml
PPTX
PPTX
Sql comandos
PPTX
Sentencias dml y ddl
PPT
DDL - Lenguaje de definición de datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
Sql DML Lenguaje de manipulación de datos
Ejemplo ddl dml
Comandos ddl y dml
Sql comandos
Sentencias dml y ddl
DDL - Lenguaje de definición de datos

La actualidad más candente (20)

PDF
Consultas básicas en sql server
PPTX
Introduccion al sql query
PPTX
Comandos utilizados en sql
PDF
Comandos, sentencias, clausulas
PPT
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
PPT
Unidad 6 Lenguaje Sql 2
DOCX
SENTENCIAS DE SQL SERVER
PPTX
SENTENCIAS SQL
PPT
Comandos SQL
PDF
Introducción a sql server
PPT
Consultas Basicas En Sql Server 2005
PDF
MANUAL COMPLETO DE SQL
PPTX
Introduccion a SQL
PDF
Aprenda SQL Server
PPT
Introducción a Sql
PPT
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
PPTX
Técnicas avanzadas de consultas con sql server 2014
PDF
Clase 2 El lenguaje DDL de SQL
PPT
Introducción a sql consultas y criterios de selección
PDF
Breve resumen sobre consultas básicas en MySQL
Consultas básicas en sql server
Introduccion al sql query
Comandos utilizados en sql
Comandos, sentencias, clausulas
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 2
SENTENCIAS DE SQL SERVER
SENTENCIAS SQL
Comandos SQL
Introducción a sql server
Consultas Basicas En Sql Server 2005
MANUAL COMPLETO DE SQL
Introduccion a SQL
Aprenda SQL Server
Introducción a Sql
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Técnicas avanzadas de consultas con sql server 2014
Clase 2 El lenguaje DDL de SQL
Introducción a sql consultas y criterios de selección
Breve resumen sobre consultas básicas en MySQL
Publicidad

Similar a Manipulacion de Bases de Datos (20)

PDF
PPTX
PPTX
Consultas sql
PPTX
Consultas SQL
PPT
Sql 2010
PPT
Tutorial Sql
DOCX
Consultas multitabl1 sql
PDF
SQL Parte 1.pdf
PDF
SQL Parte 1.pdf
PPTX
14 structure query language
DOC
Sql avanzado
PPTX
Subconsultas
PDF
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez H
PPTX
Subconsultas
PPTX
Subconsultas
PPTX
Subconsultas
PPTX
Consultasql
DOCX
Sql avanzado
PPTX
Tarea sql
PPTX
Tema5 sql - dml
Consultas sql
Consultas SQL
Sql 2010
Tutorial Sql
Consultas multitabl1 sql
SQL Parte 1.pdf
SQL Parte 1.pdf
14 structure query language
Sql avanzado
Subconsultas
Guía 02. Consultas MySQL sobre una tabla - José J Sánchez H
Subconsultas
Subconsultas
Subconsultas
Consultasql
Sql avanzado
Tarea sql
Tema5 sql - dml
Publicidad

Más de Silvana Cecilia Vire (10)

PDF
Análisis y visualización de OER contenidos en sitios OCW
DOC
Como realizar un Buscador Semantico
PPT
Divide y Venceras
PPT
Comprobacion de Paridad
DOC
Auditoria Oracle 10g
PPTX
Ontologias con Bases de Datos
PPT
Impacto TecnolóGico
PPT
Simulacion de Sistemas
PPT
Open Innovation
PPT
Gestion de Tesis
Análisis y visualización de OER contenidos en sitios OCW
Como realizar un Buscador Semantico
Divide y Venceras
Comprobacion de Paridad
Auditoria Oracle 10g
Ontologias con Bases de Datos
Impacto TecnolóGico
Simulacion de Sistemas
Open Innovation
Gestion de Tesis

Manipulacion de Bases de Datos

  • 1. SQL: MANIPULACION DE DATOS Herramienta: Oracle
  • 2. 5.3.5 Subconsultas Se trata de utilizar una instrucción SELECT completa incluida dentro de otra instrucción SELECT. Se pueden utilizar SELECT internos como subconsultas en: Clausulas WHERE y HAVING INSERT, UPDATE y DELETE Existen tres tipos de subconsultas: Subconsulta escalar Subconsulta de fila Subconsulta de tabla
  • 3. 5.3.5 Subconsultas Las reglas aplicables a las subconsultas son las siguientes: No puede utilizarse la cláusula ORDER BY dentro de una subconsulta. La lista SELECT de la subconsulta debe estar compuesta por un único nombre de columna o expresión. De manera predeterminada, los nombres de columna de una subconsulta hacen referencia al nombre de tabla incluido en la clausula FROM de la subconsulta Cuando una subconsulta actúa como uno de los operandos implicados en una comparación. La subconsulta debe aparecer en el lado derecho de la comparación.
  • 4. 5.3.6 ANY y ALL Las palabras clave ANY y ALL pueden utilizarse con aquellas subconsultas que generan una única columna de números. La clave ALL solo será cierta si se ve satisfecha por todos los valores generados por la subconsulta. Si una subconsulta esta precedidad por la clave ANY, la condición sólo será cierta si se va satisfecha por alguno (uno o más) de los valores generados por la subconsulta.
  • 5. Las palabras clave exist y no exist estan diseñadas para utilizarlas unicamente dentro de una subconsulta. Estas palabras clave producen un simple resultado de tipo verdadero / falso. Exist es verdadera si y solo si existe una fila en la tabla de resultados y Es falsa si la subconsulta devuelve una tabla de resultados vacia. No exist es la condicion opuesta a exist. Exist y no exist solo comprueban la existencia o no existencia de filas en la tabla de resultados de la subconsulta, la subconsulta puede tener cualquier numero columnas.
  • 6. SELECT hotelname, city FROM hotel a WHERE EXISTS (select * FROM room b WHERE a.hotelno = b.hotelno AND type = ‘doble'); MUESTRA TODOS LOS HOTELES DONDE EXISTE RESERVACIONES EN HABITACIONES DOBLES
  • 7. SELECT notelname, city FROM hotel a WHERE NO EXISTS (select * FROM room b WHERE a.hotelno = b.hotelno AND type = 'simple'); MUESTRA TODOS LOS HOTELES DONDE NO EXISTE RESERVACIONES EN HABITACIONES SIMPLES
  • 8. En sql podemos utilizar las operaciones normales de conjuntos union, interseccion y diferencia para combinar los resultados de dos o mas consultas en una unica tabla de resultados. Union de dos tablas a y b, es una tabla que contiene todas las filas que estan incluidas en a, en b o en ambas. Intercepcion de dos tablas es una tabla que contiene todas las filas que son comunes tanto en a como en b. Diferencia de dos tablas es una tabla que contiene todas las filas que están contenidas en a pero no en b.
  • 9. SELECT * FROM hotel WHERE (hotelno = 10001) UNION SELECT * FROM hotel WHERE (hotelno = 10003); Existen restricciones sobre las tablas que pueden combinarse mediante estas operaciones de conjuntos, siendo la mas importante aquella que explica que las tablas deben ser compatibles respecto a la union Deben tener la misma estructura, esto implica que las dos tablas pueden contener el mismo numero de columnas y que sus correspondentes columnas deben tener el mismo tipo de dato y longitudes.
  • 10. RESULTADO DE LA UNION DE LOS ELEMENTOS DE LA TABLA HOTEL
  • 11. (SELECT hotelno FROM room WHERE (roomno = 20001) INTERSECT SELECT hotelno FROM booking WHERE (roomno = 20001); Al realizar la consulta utilizando intersect, se ejecutan las sentencias generando una tabla de resultados para la primera consulta y otra tabla a partir de la segunda consulta y luego creando una unica tabla de resultados compuesta por todas las filas que sean comunes a ambas tablas.
  • 12. RESULTADO DE LA INTERCEPCION DE LOS ELEMENTOS DE LAS TABLAS ROOM Y BOOKING
  • 13. SELECT DISTINCT hotelno FROM Hotel WHERE hotelno NOT IN (SELECT hotelno FROM Room WHERE type = 'Doble'); Al realizar la consulta utilizando except se produce una tabla de resultados a partir de la primera consutla y otra tabla de la segunda, luego se crea una tabla compuesta por las flas que aparecen en la primera tabla de resultados, pero no en la segunda
  • 14. RESULTADO DE LA DISTINCION DEL NUMERO DE HOTEL EN DONDE EN CUARTOS DOBLES HAY RESERVACIONES Todos excepto estas condiciones
  • 15. 5.3.10 ACTUALIZACIONES DE LA BASE DE DATOS
  • 16. SQL nos ofrece tres instrucciones para modificar los contenidos de las tablas de la base de datos. INSERT: añade nuevas filas de datos a una tabla. UPDATE: modifica los datos existentes en una tabla. DELETE: elimina filas de datos de una tabla
  • 17. Existen dos formas de instrucciones INSERT. La primera permite insertar una única fila en una tabla especificada, y su formato es el siguiente: INSERT INTO Nombre Tabla [(Lista Columnas)] VALUES (lista_valores_datos) La segunda forma de la instrucción INSERT permite copiar múltiples filas de una o más tablas en otra tabla, su formato es: INSERT INTO nombre [(ListaColumnas)] SELECT… INSTRUCCIÓN INSERT
  • 18. Ejemplos: Insertar una nueva fila en la tabla Hotel.
  • 19. Permite modificar el contenido de filas ya existentes en una tabla especificada, su formato es: UPDATE NombreTabla SET NombreColumna1= valorDatos1[,NombreColumna2=valorDatos2…] [WHERE condiciónBúsqueda] La cláusula SET especifica los nombre de una o más columnas que hay que actualizar. INSTRUCCIÓN UPDATE
  • 20. Ejemplos: Incrementar un 2% el precio de las habitaciones dobles y cambiar el tipo de la habitación doble a simple.
  • 21. INSTRUCCIÓN DELETE Permite borrar filas de una tabla especificada. El formato del comando es: DELETE FROM NombreTabla [WHERE CondicionBúsqueda] De igual manera la condición de búsqueda es opcional; si se la omite, todas las filas serán borradas de la tabla Si necesitamos borrar una tabla, debemos utilizar la instrucción DROP TABLE.
  • 22. Ejemplos: Borrar una fila de la tabla Hotel donde RoomNo=10005.