Created by John F. Kennedy
about 4 years ago
|
||
Question | Answer |
Subconsultas con IN El resultado de una subconsulta especificada con IN (o con NOT IN) es una lista de cero o más valores. Una vez que la consulta devuelve los resultados, la consulta externa hace uso de ellos. La siguiente consulta busca los nombres de todos los productos de ruedas que Adventure Works Cycles fabrica. | USE AdventureWorks2016; GO SELECT Name FROM Production.Product WHERE ProductSubcategoryID IN (SELECT ProductSubcategoryID FROM Production.ProductSubcategory WHERE Name = 'Wheels'); GO |
Subconsultas con NOT IN Las subconsultas que empiezan por la palabra clave NOT IN, devuelven también una lista de cero o más valores. En la siguiente consulta se buscan los nombres de los productos que no son bicicletas acabadas. | USE AdventureWorks2016; GO SELECT Name FROM Production.Product WHERE ProductSubcategoryID NOT IN (SELECT ProductSubcategoryID FROM Production.ProductSubcategory WHERE Name = 'Mountain Bikes' OR Name = 'Road Bikes' OR Name = 'Touring Bikes'); GO |
Operadores de comparación modificados por ANY, SOME o ALL Los operadores de comparación que presentan una subconsulta se pueden modificar mediante las palabras clave ALL o ANY. SOME es un equivalente del estándar ISO de ANY. | q |
Subconsultas con EXISTS Cuando una subconsulta se especifica con la palabra clave EXISTS, funciona como una prueba de existencia. La cláusula WHERE de la consulta externa comprueba si existen las filas devueltas por la subconsulta. En realidad, la subconsulta no produce ningún dato, devuelve el valor TRUE o FALSE. | USE AdventureWorks2016; GO SELECT Name FROM Production.Product WHERE EXISTS (SELECT * FROM Production.ProductSubcategory WHERE ProductSubcategoryID = Production.Product.ProductSubcategoryID AND Name = 'Wheels'); GO |
Subconsultas con NOT EXISTS NOT EXISTSS funciona igual que EXISTS, con la diferencia de que la cláusula WHERE en la que se utiliza se cumple si la subconsulta no devuelve ninguna fila | USE AdventureWorks2016; GO SELECT Name FROM Production.Product WHERE NOT EXISTS (SELECT * FROM Production.ProductSubcategory WHERE ProductSubcategoryID = Production.Product.ProductSubcategoryID AND Name = 'Wheels'); GO |
Want to create your own Flashcards for free with GoConqr? Learn more.