EXISTE representantes existencial ∃ cuantificador.
Con el predicado EXISTS subconsulta no devuelve ningún dato, sólo produjo un verdadero valor lógico "verdadero" o lógicamente falso valor "falso".
Si el resultado de la consulta interna no está vacía, entonces la capa exterior de la cláusula WHERE devuelve verdadero, de lo contrario retorna falso.
EXISTE subconsulta por los clientes potenciales, con la expresión de columna meta menudo utilizado *, porque la subconsulta con sólo existe regresar valor verdadero o falso, dado el nombre de la columna discutible.
Después de usar el cuantificador existencial NO existe, si el resultado de la consulta interna está vacía, la capa externa de la cláusula WHERE devuelve un valor verdadero, de lo contrario valor de retorno.
[3.60] para consultar todos los pacientes que participaron en el 1er nombres de los estudiantes del curso.
SELECT Sname
FROM Student
WHERE EXISTS
(SELECT *
FROM SC
WHERE Sno=Student.Sno AND Cno= '1');
Encuentra Principio: Sno valor tomado por uno de Student, el valor Sno SC si está presente y que Cno = '1', el resultado no es artículo de vacío, es TRUE, pero esta entrada Student.Sname pantalla.
El nombre de [3,61] Ejemplo estudiante de consulta no es el número 1 cursos electivos.
SELECT Sname
FROM Student
WHERE NOT EXISTS(
SELECT *
FROM SC
WHERE Sno = Student.Sno AND Cno='1');
Todos los sub-consulta con el predicado IN, operadores de comparación, cualquier y todos los predicados predicado EXISTS se puede utilizar con sub-consultas de reemplazo equivalente.
[3.62] Los pacientes inscritos en un curso completo de nombres de consulta de los estudiantes.
lenguaje SQL no es cuantificador universal, predicado puede ser convertido con el cuantificador universal es equivalente al cuantificador existencial predicado:
(∀ x) P≡¬ (∃x (ap))
porque no hay cuantificadores completos, pueden estar sujetos significando convertido en una forma equivalente de los cuantificadores existenciales: consulta de dichos estudiantes, nadie curso electivo no lo hace. Su instrucción SQL es la siguiente:
SELECT Sname
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM Course
WHERE NOT EXISTS(
SELECT *
FROM SC
WHERE Sno= Student.Sno
AND Cno= Course.Cno) );
Por lo tanto usando existe / no existen para poner en práctica la consulta con una palabra medida.
[3.63] Consulta de ejemplo menor número de estudiantes inscritos en un curso completo de 201.215.122 de elección de los estudiantes.
lenguaje SQL no contiene ninguna operación lógica
se puede utilizar para convertir el predicado cálculo de predicados implicación lógica equivalente a:
P → q≡¬p∨q
SELECT DISTINCT Sno
FROM SC SCX
WHERE NOT EXISTS(
SELECT *
FROM SC SCY
WHERE SCY.Sno = '201215122' AND NOT EXISTS(SELECT * FROM SC SCZ WHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno));
[3.64] Consultas de ejemplo Departamento de estudiantes de informática y la edad de los estudiantes no más de 19 años de edad.
SELECT *
FROM Student
WHERE Sdept= 'CS'
UNION
SELECT *
FROM Student
WHERE Sage<=19;
[3,65] cursos electivos Ejemplo 1 de consulta o cursos electivos estudiantes 2.
SELECT Sno
FROM SC
WHERE Cno='1'
UNION
SELECT Sno
FROM SC
WHERE Cno='2';
[3.66] Ejemplo consultas Departamento de Ciencias de la Computación estudiantes la edad no es más de 19 años de edad, estudiante de intersección.
SELECT *
FROM Student
WHERE Sdept='CS'
INTERSECT
SELECT *
FROM Student
WHERE Sage<=19
[3.67] de consulta tanto de los pacientes inscritos en los cursos 1 y 2 de los estudiantes de cursos electivos.
SELECT Sno
FROM SC
WHERE Cno='1'
INTERSECT
SELECT Sno
FROM SC
WHERE Cno='2';
Por supuesto, la solución es más de una consulta anidada se puede lograr:
SELECT Sno
FROM SC
WHERE Cno='1' AND Sno IN
(SELECT Sno
FROM SC
WHERE Cno='2');
[3.68] Ejemplo consultas Departamento de Ciencias de la Computación estudiantes la edad no es más de 19 años de edad, estudiante de diferencia de conjuntos.
SELECT *
FROM Student
WHERE Sdept='CS'
EXCEPT
SELECT *
FROM Student
WHERE Sage <=19;