6.6 Valores nulos o null,
6.7 Consultas anidadas y
6.8 Consultas Complejas
6.6 Valores nulos o null
¿Qué es?
Null (nulo) es un
marcador especial
usado en el lenguaje
de consulta
estructurado (SQL).
Ingresar datos null
Si ingresamos los datos de un
libro, para el cual aún no hemos
definido el precio podemos colocar
"null" para mostrar que no tiene
precio: insert into libros
(titulo,autor,editorial,precio)
values('El
aleph','Borges','Emece',null); Si se
intenta agregar un valor null en un
campo donde no es permitido SQL
nos arrojara un error y no
ingresara nada.
IS NULL EN BUSQUEDA.
En la tabla personas,
tenemos la columna
'apellido2' que es
opcional y puede
tener valores nulos:
6.7 Consultas anidadas
Consulta anidada
Como su nombre indica, es aquella que
está contenida dentro de otra.
Hablando en terminología de SQL Es
una consulta SELECT completa, dentro
de la cláusula WHERE de otra consulta
(consulta exterior)
Estructura
El formato es el
siguiente: SELECT
col1, col2, ... , coln
FROM tabla1
WHERE colx in
(SELECT coly
FROM tabla2
WHERE
condiciones);
Propiedades
*Se puede encontrar en la lista de selección, en la
cláusula WHERE o en la cláusula HAVING de la
consulta principal. *Cuando se ejecuta una consulta
que contiene una subconsulta, la subconsulta se
ejecuta por cada fila(registro) de la consulta
principal. *Las subconsultas pueden anidarse de
forma que una subconsulta aparezca en la cláusula
WHERE (por ejemplo) de otra subconsulta que a su
vez forma parte de otra consulta principal.
Condiciones de selección con subconsultas
En SQL tenemos cuatro
nuevas condiciones:*el test
de comparación con
subconsulta.*el test de
comparación
cuantificada.*el test de
pertenencia a un
conjunto.*el test de
existencia
test de pertenencia a un conjunto
Examina si el valor de la
expresión es uno de los
valores incluidos en la lista de
valores
producida
por
la
subconsulta.
TEST DE COMPARACIÓN CUANTIFICADA
Este test es una extensión del test de
comparación y del test de
conjunto. Compara el valor de la
expresión con cada uno de los
valores producidos por la subconsulta.
test ALL.
Se evalúa la comparación con
cada valor devuelto por la
subconsulta.
test de existencia
Examina si la
subconsulta produce
alguna fila de
resultados.
Características Ambigüedad
Coincidencia
de nombres
de columnas
en las
consultas
exterior y
anidada
Características Correlación
Una consulta exterior y otra
anidada están correlacionadas si
una condición de la anidada
contiene columnas de una tabla
declarada en la consulta exterior
6.8 Consultas Complejas
Consultas Complejas
Uno de los temas que más cuesta a
los que empiezan a aprender SQL
son las consultas en las que se
recogen diferentes tipos de datos de
una ó múltiples tablas.
Combinación de tablas
Se trata de la tabla
DIRECCION y cuenta con
los siguientes campos:
ID (identificador único
de los contactos),
DIRECCION (dirección
completa del contacto).
Subconsultas
De manera informal se
puede decir que una
subconsulta no es más
que una consulta
dentro de otra consulta
Comparaciones en
pares contra
comparaciones no
pares
La Comparación de
columnas en una sub
consulta de múltiples
columnas puede ser
una comparación par
o una comparación no
par.