Manual de SQL
para Oracle 9i
Manual de referencia
Autor: Jorge Sánchez (www.jorgesanchez.net) año 2004
e-mail:
[email protected]
Este trabajo está protegido bajo una licencia de Creative Commons del
tipo Attribution-NonCommercial-ShareAlike.
Para ver una copia de esta licencia visite:
http://creativecommons.org/licenses/by-nc-sa/2.0/
o envíe una carta a:
Creative Commons, 559 Nathan Abbott Way, Stanford, California
94305, USA.
2
Los contenidos de este documento están protegidos bajo una licencia de Creative Commons del
tipo Attribution-Noncomercial-Share Alike. Con esta licencia:
Eres libre de:
• Copiar, distribuir y mostrar este trabajo
• Realizar modificaciones de este trabajo
Bajo las siguientes condiciones:
Attribution (Reconocimiento). Debe figurar siempre el autor
original de este trabajo
Noncommercial (No comercial). No puedes utilizar este trabajo
con propósitos comerciales.
Share Alike (Compartir igual). Si modificas, alteras o construyes
nuevos trabajos a partir de este, debes distribuir tu trabajo con una
licencia idéntica a ésta
• Si estas limitaciones son incompatible con tu objetivo, puedes contactar con el
autor para solicitar el permiso correspondiente
• No obstante tu derecho a un uso justo y legítimo de la obra, así como derechos
no se ven de manera alguna afectados por lo anteriormente expuesto.
Esta nota no es la licencia completa de la obra, sino una traducción del resumen en formato
comprensible del texto legal. La licencia original completa (jurídicamente válida y pendiente de
su traducción oficial al español) está disponible en http://creativecommons.org/licenses/by-nc-
sa/2.0/legalcode
íínnddiiccee
índice.............................................................................................. 5
notas previas.................................................................................. 7
introducción.................................................................................... 9
Historia del lenguaje SQL..................................................................... 9
estructura del lenguaje SQL................................................................ 12
normas de escritura ........................................................................... 12
tablas ........................................................................................... 13
esquemas de usuario y objetos ........................................................... 13
creación de tablas ............................................................................. 13
orden DESCRIBE ............................................................................... 14
orden INSERT.................................................................................... 14
consultar las tablas del usuario........................................................... 14
borrar tablas ..................................................................................... 14
tipos de datos ................................................................................... 15
modificar tablas................................................................................. 18
valor por defecto ............................................................................... 19
restricciones ...................................................................................... 19
consultas SELECT .......................................................................... 27
capacidades ..................................................................................... 27
sintaxis sencilla.................................................................................. 27
cálculos ............................................................................................ 27
condiciones....................................................................................... 28
ordenación ....................................................................................... 31
funciones .......................................................................................... 31
obtener datos de múltiples tablas........................................................ 39
agrupaciones .................................................................................... 43
subconsultas ..................................................................................... 46
combinaciones especiales .................................................................. 48
comandos internos en SQL e iSQL*Plus ....................................... 50
variables de sustitución ...................................................................... 50
comando SET.................................................................................... 51
encabezado y pie de informe.............................................................. 52
5
Manual de SQL para Oracle 9i
notas previas
COLUMN .........................................................................................53
BREAK...............................................................................................54
COMPUTE ........................................................................................55
DML .............................................................................................. 59
introducción ......................................................................................59
inserción de datos..............................................................................59
actualización de registros....................................................................60
borrado de registros ...........................................................................61
comando MERGE ..............................................................................61
transacciones.....................................................................................63
objetos de la base de datos ......................................................... 65
vistas.................................................................................................65
secuencias.........................................................................................67
índices ..............................................................................................69
sinónimos..........................................................................................70
consultas avanzadas .................................................................... 73
consultas con ROWNUM....................................................................73
consultas sobre estructuras jerárquicas.................................................73
subconsultas avanzadas......................................................................76
consultas de agrupación avanzada......................................................77
6
nnoottaass pprreevviiaass
En este manual en muchos apartados se indica sintaxis de comandos. Esta sintaxis sirve
para aprender a utilizar el comando, e indica la forma de escribir dicho comando en el
programa utilizado para escribir SQL.
En el presente manual la sintaxis de los comandos se escribe en párrafos sombreados
de gris con el reborde en gris oscuro. Ejemplo:
SELECT * | {[DISTINCT] columna | expresión [alias], ...}
FROM tabla;
Otras veces se describen códigos de ejemplo de un comando. Los ejemplos se escriben
también con fondo gris, pero sin el reborde. Ejemplo:
SELECT nombre FROM cliente;
Los ejemplos sirven para escenificar una instrucción concreta, la sintaxis se utiliza para
indicar las posibilidades de un comando. Para indicar la sintaxis de un comando se usan
símbolos especiales. Los símbolos que utiliza este libro (de acuerdo con la sintaxis que se
utiliza normalmente en cualquier documentación de este tipo) son:
PALABRA Cuando en la sintaxis se utiliza una palabra en negrita, significa que es
un comando que hay que escribir literalmente.
texto El texto que aparece en cursiva sirve para indicar que no hay que escribirle
literalmente, sino que se refiere a un tipo de elemento que se puede utilizar en el
comando. Ejemplo:
SELECT columna FROM tabla;
El texto columna hay que cambiarlo por un nombre concreto de columna (nombre,
apellidos,...) , al igual que tabla se refiere a un nombre de tabla concreto.
[] (corchetes). Los corchetes sirven para encerrar texto que no es obligatorio en el
comando, es decir para indicar una parte opcional.
| (barra vertical). Este símbolo (|) , la barra vertical, indica opción, es decir que se
puede elegir entre varias opciones
... (puntos suspensivos) Indica que se puede repetir el texto anterior en el
comando continuamente (significaría, y así sucesivamente)
{} (llaves) Las llaves sirven para indicar opciones mutuamente exclusivas pero
obligatorias. Es decir, opciones de las que sólo se puede elegir una opción, pero de
las que es obligado elegir una. Ejemplo:
SELECT { * | columna | expresión }
FROM tabla;
7
Manual de SQL para Oracle 9i
notas previas
El ejemplo anterior indicaría que se debe elegir obligatoriamente el asterisco o un nombre
de columna o una expresión. Si las llaves del ejemplo fueran corchetes, entonces
indicarían que incluso podría no aparecer ninguna opción.
8
iinnttrroodduucccciióónn
Historia del lenguaje SQL
El nacimiento del lenguaje SQL data de 1970 cuando E. F. Codd publica su libro: "Un
modelo de datos relacional para grandes bancos de datos compartidos". Ese libro
dictaría las direcrices de las bases de datos relacionales. Apenas dos años después IBM
(para quien trabajaba Codd) utiliz
Comentarios de: Manual de SQL para Oracle 9i (0)
No hay comentarios