Ejercicio 3.a
Bueno. Mi respuesta para este ejercicio es el punto D. La razón de dicha respuesta, a mi considerar, radica en que no especifica los niveles de aislamientos que se usa. Según tengo entendido existen 4 niveles estandares de aislamiento que son:
Serializable,
Repeteable Read,
Read Commited y
Read Uncommited. A su vez existen diferentes tipos de lecturas que pueden ocurrir cuando hay concurrencia y estos son
Lectura Sucia,
Lectura No Repetible y
Lectura Fantasma.
Entonces, puesto que no me especifica que nivel de aislamiento que está usando no puedo asegurar nada sobre las variables a y b puesto que, por ejemplo, si el nivel es READ UNCOMMITED van a ser distintas, y si el nivel es READ COMMITED van a ser iguales.
Ejercicio 3.b
La verdad que este tipo de ejercicios me cuesta mucho. Logré hacer algo pero no estoy seguro que esté bien. A continuacion les dejo mi codigo a ver si me lo pueden corregir o validar.
SELECT c.razonsocial, c.email, c.telefono
FROM tl_clientes c
JOIN tl_facturas f ON c.codcli=f.faccli
WHERE f.estado='IMPAGA'
ORDER BY CASE WHEN c.email
IS NULL AND c.telefono
IS NULL THEN 1
END ASC