Subconsultas SQL

Valoración del artículo:
Explicación y ejemplos de las subconsultas en SQL para Oracle.
Publicado: 29/3/05
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Subconsultas:

Consulta que se hace sobre los datos que nos da otra consulta. Su formato es:

   SELECT______
   FROM________
   WHERE CONDICION OPERADOR (SELECT ______
      FROM ___________
      WHERE CONDICION OPERADOR);
Ejemplo:

Obtenemos los jugadores con la misma posición que "Sánchez":

   SELECT APELLIDO
   FORM EMPLE
   WHERE POSICION = (SELECT OFICIO
      FROM EMPLE
      WHERE APELLIDO LIKE 'GIL');


Seleccionamos en todos los campos de la tabla Jugadores cuya sede está en Madrid o Barcelona:

SELECT *
   FROM JUGADORES
   WHERE EQUIPO_NOM IN (SELECT EQUIPO_NOM
      FROM SEDE
      WHERE LOC IN ('MADRID', 'BARCELONA');
         FROM SEDE
   WHERE LOC IN ('MADRID', 'BARCELONA');

Comentarios
Fueron enviados 5 comentarios al artículo
1 comentario no revisado
4 comentarios revisados:
Por: Niko
18/7/06
los temas son estrictamente especificos,espero poder adentrarme al mundo de las bases de datos, serian tan amables de incluir algunos trucos...espero tambien me recomienden que programas actuales de bd son los comerciales, soy nuevo en esto...gracias
Por: JUAN JOSE
26/9/07
No dudo que publicaste este manual con ánimos de que la gente aprenda (aprendamos), sin embargo, quisiera pedirte que revises/ejecutes tu código antes de publicarlo ya que hay algunos de ellos que no funcionan.

Adicionalmente, hay secciones que no suenan muy 'apropiadas', como aquí:

Obtenemos los jugadores con la misma posición que "Sánchez":

SELECT APELLIDO
FORM EMPLE
WHERE POSICION = (SELECT OFICIO
FROM EMPLE
WHERE APELLIDO LIKE 'GIL');

Es 'Sánchez' o 'Gil'?
Qué pasa si hay varios jugadores Gil?

Reitero mi agradecimiento por que me compartas tu conocimiento (realmente me hace falta en este momento, pero más te agradecería brindar el conocimiento sin infundar confusión).

Por: Javi
12/11/07
Hola,
Ya te digo...muchos de los códigos no funcionan pq tienen sentencias duplicadas...creo q este manual se realizó hace mucho tiempo y no se ha corregido o revisado...se que es de buena fe, pero para gente que se inicia en el mundo SQL provoca confusión.
Por lo tanto, esta desfasadisimo...

PD: I si intentas bajartelo te lo cobran...vaya tela!
Por: sai
23/2/08
Obtenemos los jugadores con la misma posición que "Sánchez":

SELECT APELLIDO
FORM EMPLE
WHERE POSICION = (SELECT OFICIO
FROM EMPLE
WHERE APELLIDO LIKE 'GIL');

primero like 'gil' no es sanchez y segundo no se puede igualar posicion a oficio pues no son del mismo tipo deberia ser select posicion from emple where apellido like 'sanchez' en todo caso

Manuales relacionados
Categorias relacionadas
El autor
Últimas noticias
Alojados en el grupo