PDF de programación - El select de SQL

<<>>
Imágen de pdf El select de SQL

El select de SQLgráfica de visualizaciones

Publicado el 11 de Julio del 2017
993 visualizaciones desde el 11 de Julio del 2017
234,7 KB
53 paginas
INDICE

El select de SQL

Indice

1. Introduccion

2. Tipos de Datos

2.1. Datos numericos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2. SQL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Tipos de datos de cadenas de caracteres . . . . . . . . . . . . . . . . . . . . .
2.2.1. Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. SQL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Tipos de datos temporales (fechas, horas) . . . . . . . . . . . . . . . . . . . .
2.3.1. Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2. SQL2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4. Valores nulos

3. Tablas de referencia

4. Expresiones

5. SQL como DML (Lenguaje de Manipulacion de Datos)

5.1. El select basico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1. Obtencion del resultado de la sentencia Select . . . . . . . . . . . . .
5.1.2. Orden de presentacion de las las del resultado . . . . . . . . . . . . .
5.1.3. Asignacion de nombres a las columnas del resultado . . . . . . . . . .
5.1.4. Eliminacion de las repetidas . . . . . . . . . . . . . . . . . . . . . . .
5.2. La condicion del WHERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1. Sentencias Select subordinadas
. . . . . . . . . . . . . . . . . . . . .
5.2.2. Predicados simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.3. Predicado NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.4. Predicados cuanticados . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.5. Predicado Between . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.6. Predicado Like . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.7. Predicado IN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.8. Predicado Exists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.9. Predicados compuestos . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4. Funciones escalares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1. Funciones para descartar nulos . . . . . . . . . . . . . . . . . . . . . .

Jose R. Parama

1

1
2
2
2
2
2
3
3
3
4
4

5

6

7
7
8
9
11
11
13
13
13
14
15
17
18
20
22
23
24
25
25

i

Jose R. Parama

5.4.2. Funcion DECODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.3. Funcion LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.4. Funciones para el tratamiento de strings . . . . . . . . . . . . . . . . .
5.4.5. Funciones aritmeticas y trigonometicas . . . . . . . . . . . . . . . . . .
5.4.6. Funciones para datos de tipo fecha . . . . . . . . . . . . . . . . . . . .
5.5. Funciones colectivas o de columna . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1. Formato con una expresion en el argumento . . . . . . . . . . . . . . .
5.5.2. Formato con un asterisco . . . . . . . . . . . . . . . . . . . . . . . . .
5.6. Agrupamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7. Clausula HAVING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8. Orden de ejecucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9. Consultas sobre varias tablas
. . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9.1. Calicacion de los nombres de columnas . . . . . . . . . . . . . . . . .
5.9.2. Clausula FROM con varias tablas
. . . . . . . . . . . . . . . . . . . .
5.9.3. JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.10. Consultas correlacionadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.11. Composicion de consultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.12. Expresiones de tabla anidada . . . . . . . . . . . . . . . . . . . . . . . . . . .

A. Apendice: Contenido de las tablas de referencia

26
27
28
29
29
30
31
32
33
36
37
38
38
38
39
44
47
48

50

ii

1.

Introduccion

Practicamente la totalidad de los SGBD relacionales utilizan para realizar consultas y
solicitudes de modicacion de los datos y/o estructuras de datos un lenguaje denominado
SQL (Structured Query Language = Lenguaje de Consulta Estructurado). El SQL incluye
algunas caractersticas del algebra relacional, aunque en realidad esta basado en gran parte
en el calculo relacional orientado a tuplas, pero con una sintaxis mas amigable que esos
lenguajes.

Originalmente, SQL se llamaba SEQUEL (Structured English QUEry Language) y
fue diseñado e implementado por IBM Research como interfaz para el SGBD relacional
experimental SYSTEM R. Un esfuerzo conjunto de ANSI (American National Standards
Institute) e ISO (International Standards Organization) ha dado lugar a una version estandar
de SQL [Ame86] llamada SQL-86 o SQL1. Posteriormente, se desarrollaron dos versiones
revisadas y mas expandidas, la primera se llama SQL2 (tambien llamado SQL-92), la mas
reciente es el nuevo estandar, denominado SQL:1999 [MS02], que extiende SQL con conceptos
de orientacion a objetos y otros conceptos novedosos de bases de datos.

SQL es un lenguaje de BD global; cuenta con enunciados de denicion, consulta y
actualizacion de datos. As pues, es tanto un lenguaje de denicion de datos (LDD) como un
lenguaje de manipulacion de datos (LMD). Ademas, cuenta con mecanismos para especicar
seguridad y autorizacion, para denir restricciones de integridad, y para especicar controles
de transacciones. Tambien tiene reglas para insertar sentencias de SQL en lenguajes de
programacion de proposito general como C, Pascal o Java.

Existe una diferencia muy importante entre SQL y el modelo relacional formal: SQL
permite que tablas (relaciones) tengan dos o mas tuplas identicas en todos los valores de sus
atributos. Por tanto, en general, una tabla de SQL no es un CONJUNTO de tuplas ya que los
conjuntos no permiten dos miembros identicos; mas bien, es un MULTICONJUNTO (bolsa)
de tuplas.

A pesar de que, como hemos visto, hay estandares, cada fabricante por unos motivos u
otros introduce pequeños cambios. En nuestro caso ante tales situaciones presentaremos la
alternativa de Oracle, ya que es el SGBD que se utiliza en esta Facultad.

Supondremos que el usuario esta familiarizado con el uso de la herramienta SQL*Plus de

Oracle.

2. Tipos de Datos

SQL emplea los terminos tabla, la y columna en lugar de relacion, tupla y atributo,

respectivamente. Nosotros usaremos de manera indistinta los terminos correspondientes.

Como sabemos, las atributos estan denidos sobre dominios, aunque en SQL2 se pueden
denir dominios, en la mayora de los casos los atributos en SQL se denen sobre tipos de
datos que hacen las veces de dominio del atributo.

Cuando se dene una nueva tabla, ademas de asignar nombres a sus columnas, se le asigna

a cada una de ellas un determinado tipo de datos (o dominio). Con ello se esta deniendo:

El conjunto de todos los valores posibles que puede tomar la columna. El SGBD se
responsabiliza de que los valores que tome la columna en todo momento sean validos;
es decir, que esten incluidos en el dominio correspondiente.

1

Jose R. Parama

Las operaciones que se pueden realizar con los valores de la columna (por ejemplo, si se
pueden hacer o no calculos aritmeticos).

La decision de cual es el tipo de datos mas conveniente para una determinada columna
suele tomarse al diseñar la base de datos. Pero, en todo caso, el usuario debe conocerlo, a n
de poder expresar correctamente las operaciones a realizar con los valores de las columnas.

Los tipos de datos pueden agruparse en tres categoras:

Numericos.

Strings.

De tiempo.

2.1. Datos numericos

2.1.1. Oracle

Aunque existen diversas formas de representar datos numericos en Oracle, las principales

son las siguientes:

NUMERIC(m[,n]) o NUMBER(m[,n]), donde m es la precision o anchura maxima del valor
numerico, y n es la precision decimal (la opcion preferida por SQL estandar es NUMERIC,
pero Oracle, en versiones anteriores, solo aceptaba NUMBER). Por ejemplo, NUMBER(3)
es un numero entero de tres dgitos como maximo, y NUMBER(5,2) es un real con 5
dgitos maximo en total, de los que 2 (tambien como maximo) son decimales.

INT: Es un numero entero, que para Oracle es equivalente a NUMBER(38).

Los valores numericos en Oracle se representan como en cualquier lenguaje de programacion,
como por ejemplo 26 o 143.05. No necesitan ir entre comillas, y el separador decimal es
normalmente un punto.

2.1.2. SQL2

Incluyen numeros enteros de diversos tamaños (INTEGER o INT y SMALLINT) y numeros
reales de diversas precisiones (FLOAT, REAL, DOUBLE PRECISION). Tambien podemos declarar
numeros con formato empleando DECIMAL(m,n) o D
  • Links de descarga
http://lwp-l.com/pdf5271

Comentarios de: El select de SQL (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad