Me gustaría que me enseñéis como usar subconsultas en SQL, la sintaxis a emplear y eso..
1 Respuesta
Respuesta de mgfreelance
1
1
mgfreelance, Consultor TIC con experiencia de más de diez años en el sector...
La definición de subconsulta sería aquella consulta incluida dentro de una cláusula WHERE o HAVING de otra consulta. A veces, para expresar ciertas condiciones no hay más remedio que obtener el valor que buscamos como resultado de una consulta. Por ejemplo supongamos que tenemos una tabla de proyectos que incluye el precio y queremos sacar los datos de los proyectos con un precio mayor. SELECT codigo_proyecto, nombre_proyecto FROM proyectos WHERE precio = (SELECT MAX(precio) FROM proyectos); A efectos prácticos, piensa que un subconsulta te puede devolver: a) 1 valor o un conjunto de valores, por lo que puedes incluir en cualquier condición en la que sustituyas un valor por la subconsulta (ejemplo anterior) o un conjunto de valores por la subconsulta (con un IN): select * from Category where CategoryID not IN (select CategoryID from Product where CategoryID is not null); b) Una tabla, por lo que podrías sustituir una tabla por una subconsulta si la necesitaras... select max(t.Cantidad) as Maximo , max(t. ProductID) as ProductID From (select d.ProductID , sum(d. Quantity) as Cantidad from OrderDetail d group by d.ProductID) t;
Hola, yo lo he hecho más o menos así, pero me dan error las subconsulas, me dice que hay un problema con la sintaxis del from, me refiero al ejemplo en el que me devuelve una tabla... ¿sabes por qué podría ser? Muchas Gracias
¿Podrías pegar un de tus consultas o una similar? Los ejemplos que te pegado arriba son correctos sintácticamente y han sido probados. Por tu comentario creo que estás intentando una consulta similar a la última. Y el error más frecuente suele tener que ver con los paréntesis o los alias.