Publicado el 11 de Octubre del 2018
1.179 visualizaciones desde el 11 de Octubre del 2018
417,7 KB
41 paginas
Creado hace 6a (26/11/2017)
SQL - DML
Oracle 11g EE
En este capítulo se verá el lenguaje SQL enfocado a la manipulación
de datos en una base de datos. Un subconjunto de SQL, el DML
(Data Manipulation Language) se centra en la ejecución de consultas
a una base de datos y las operaciones de gestión de datos como
inserción borrado y actualización de filas en tablas.
SQL DML - Oracle 11g EE by Rafael Lozano is licensed under a Creative Commons Reconocimiento-
NoComercial-CompartirIgual 3.0 España License.
Tabla de contenidos
Tabla de contenido
1 Introducción........................................................................................................................................1
2 Sentencia SELECT...............................................................................................................................2
2.1 Columnas calculadas..................................................................................................................................3
2.2 Selección de todas las columnas de una tabla....................................................................................4
2.3 Encabezados de columna..........................................................................................................................4
2.4 Filas duplicadas............................................................................................................................................5
2.5 Criterio de selección. Cláusula WHERE..................................................................................................5
2.5.1 Test de comparación................................................................................................................................. 6
2.5.2 Test de rango BETWEEN...........................................................................................................................6
2.5.3 Test de pertenencia a conjunto. Cláusula IN.......................................................................................7
2.5.4 Test de correspondencia con patrón. Cláusula LIKE.........................................................................7
2.5.5 Test de valor nulo....................................................................................................................................... 8
2.6 Ordenación de los resultados de una consulta. Cláusula ORDER BY............................................8
2.7 Consultas sumarias.....................................................................................................................................9
2.7.1 Cálculo del total de una columna (SUM)............................................................................................10
2.7.2 Cálculo del promedio de una columna (AVG)...................................................................................10
2.7.3 Determinación de valores extremos...................................................................................................10
2.7.4 Cuenta de valores de datos (COUNT).................................................................................................10
2.7.5 Valores NULL y funciones de columna...............................................................................................11
2.7.6 Eliminación de filas duplicadas (DISTINCT)........................................................................................11
2.8 Consultas agrupadas................................................................................................................................12
2.8.1 Condiciones de búsqueda de grupos. Cláusula HAVING..............................................................14
2.9 Subconsultas..............................................................................................................................................15
2.9.1 Test de comparación de subconsulta (_, <>, <, <_, >, >_)................................................................18
2.9.2 Test de pertenencia a conjunto. Clausula IN....................................................................................18
2.9.3 Test de existencia. Clausula EXISTS.....................................................................................................19
2.9.4 Test cuantificados. Clausulas ANY y ALL............................................................................................19
2.9.5 Subconsultas anidadas........................................................................................................................... 20
2.9.6 Subconsultas en clausula HAVING......................................................................................................21
2.10 Consultas multitabla...............................................................................................................................22
2.10.1 Consultas multitabla con criterio de selección de fila..................................................................23
2.10.2 Múltiples columnas de emparajamiento.........................................................................................24
2.10.3 Consultas de tres o más tablas..........................................................................................................24
2.10.4 Join externo............................................................................................................................................. 24
3 Actualizaciones de datos................................................................................................................27
3.1 Sentencia INSERT.......................................................................................................................................27
3.2 Sentencia UPDATE....................................................................................................................................30
3.3 Sentencia DELETE......................................................................................................................................34
4 Bibliografía.........................................................................................................................................37
Índice I
Rafael Lozano
SQL - DML - Oracle 11g EE
SQL - DML
Oracle 11g EE
1 Introducción
SQL es el lenguaje declarativo de alto nivel con el cual todos las aplicaciones y usuarios acceden
a los datos en una BD Oracle. Aunque algunas herramientas y aplicaciones enmascarán el uso de SQL,
todas las tareas sobre una base de datos se realizan utilizando SQL. Cualquier otro método de acceso
a los datos que elude la seguridad integrada de Oracle y potencialmente compromete la seguridad e
integridad de los datos.
SQL suministra una interfaz a una base de datos relacional como Oracle. SQL unifica tareas
como las siguientes:
✔ Crear, modificar y eliminar objetos.
✔ Insertar, actualizar y borrar filas de tablas.
✔ Consulta de datos.
✔ Controlar el acceso a la base de datos y sus objetos.
✔ Garantizar la consistencia e integridad de la base de datos.
SQL puede utilizarse interactivamente, lo que significa que las sentencias se introducen
manualmente en un programa. Las sentencias SQL también se pueden escribir dentro de un
programa escrito en un lenguaje como C o Java.
Oracle SQL incluye muchas extensiones del estándar SQL ANSI/ISO. Las herramientas y
aplicaciones Oracle suministran sentencias adicionales. Las herramientas SQL*Plus, SQL Developer y
Oracle Enterprise Manager te permiten ejecutar sentencias estándar ANSI/ISO SQL y cualquier otra
sentencia adicional o funciones disponibles para esas herramientas.
Página 1
Rafael Lozano
SQL - DML - Oracle 11g EE
Las sentencias SQL se dividen en varias categorías entre las que se encuentran:
✔ Lenguaje de definición de datos (DDL) para definir los objetos de la BD.
✔ Lenguaje de manipulación de datos (DML) para acceso a los objetos de la BD.
✔ Control de transacciones.
✔ Control del acceso a datos
El DML (Data Manipulation Language) es el conjunto de sentencias que está orientadas a la
consulta, y manejo de datos de los objetos creados. El DML es un subconjunto muy pequeño dentro
de SQL, pero es el más importante, ya que su conocimiento y manejo con soltura es imprescindible
para el acceso a las BD. Básicamente consta de cuatro sentencias: SELECT, INSERT, DELETE, UPDATE.
Las sentencias DML acceden y manipulan los datos existentens en las tablas. En el entorno
SQL*Plus podemos introducir una sentencia DML detrás del prompt SQL> y el resultado se mostrará
a continuación. En el entorno SQL Developer, podemos introducir una sentencia SQL en una hoja de
trabajo y veremos el resultado en la parte inferior.
2 Sentencia SELECT
Una consulta o sentencia SELECT selecciona datos de uno más tablas o vistas. Su sintaxis básica
es:
SELECT [DISTINCT] lista_items
FROM lista_tablas
[WHERE condición]
[GROUP BY expresión [HAVING condición]]
[ORDER BY expresión]
Donde:
✔ SELECT [DISTINCT lista_items .- Lista de columnas de una o más tablas separadas
por comas que se desean recuperar los datos.
✔ FROM lista_tablas .- Tablas donde se encuentran las columnas que aparecen en SELECT.
✔ WHERE condición .- Condición que tienen que cumplir las filas seleccionadas para ser
mostradas.
✔ GROUP BY expresión [HAVING condición]]
.- Agrupamiento de las filas
seleccionadas para crear grupos por la expresión indicada. Si se añade HAVING condición se
define una condición que las filas agrupadas tienen que cumplir para mostrarse.
✔ ORDER BY expresión .- El resultado final se ordena por alguna de las columnas de
selección.
Todas las cláusulas son opcionales, exceto SELECT y FROM. En SELECT se deben indicar los
items de selección que se desean mostrar en el resultado. Los distintos items se separan por coma.
Cada item de selección genera una única columna de resultados en la consulta. Un
Comentarios de: SQL - DML - Oracle 11g EE (0)
No hay comentarios