Hola tengo una problemilla con esta consulta :
8.- Visualiza los nombres de los alumnos de la tabla ALUMNO que no estén en la tabla ANTIGUO ni en la tabla NUEVO.
ALUMNO;
+----------+------+------------+
| NOMBRE | EDAD | LOCALIDAD |
+----------+------+------------------+
| JUAN | 20 | VIGO |
| MANUEL | 16 | PONTEAREAS |
| FERNANDO | 32 | TUI |
| PACA | 25 | SALAMANCA |
| PEPA | 19 | LUGO |
+----------+------+------------+
ANTIGUO;
+----------+------+-----------+
| NOMBRE | EDAD | LOCALIDAD |
+----------+------+-----------+
| PEPA | 19 | LUGO |
| FERNANDO | 32 | TUI |
| JULIA | 19 | CANARIAS |
| CHONI | 22 | MADRID |
| PEPE | 43 | BARCELONA |
+----------+------+-----------+
NUEVO;
+----------+------+------------+
| NOMBRE | EDAD | LOCALIDAD |
+----------+------+------------+
| MANUEL | 16 | PONTEAREAS |
| RODRIGO | 32 | CORU�A |
| PILI | 43 | POLLO |
| FERNANDO | 32 | TUI |
+----------+------+------------+
Sé que hay que utilizar outer join pero no soy capaz de escribir bien la sintaxis y llevo ya horas ralladísimo.
Si útilizo por ejemplo los left y right outers join y quitando los NULL me acaba devolviendo los que coinciden y necesito justamente todos los que NO se repitan
Gracias :)
NOT IN ;)
Saludos
Select DiSTINCT ALUMNO.NOMBRE
FROM ALUMNO ,ANTIGUO,NUEVO
WHERE ALUMNO.NOMBRE NOT IN
("ANTIGUO.NOMBRE,NUEVO.NOMBRE");
Creo que esta mal, pero es algo asi claro que se puede hacer diferente con lo que comentas los outer joins y demas.
No se me dan bien los outer join ni inner join nunca les coji el truco,pero,si te sirve lo que acavo de pensar ,pues nose,al menos para que cojas la idea.
Yo tenia que hacer un examen de esto :¬¬ hahahaha,valla hombre tengo que repazarlo.
Diosss llevo 2 semanas con esta consulta y nada de nada he probado con outers, con not in etcccc....
Esto es lo mas "limpio" que he sacado pero.... nada :
SELECT ALUMNO.NOMBRE
FROM ALUMNO,ANTIGUO,NUEVO
WHERE ALUMNO.NOMBRE
AND ALUMNO.NOMBRE=NUEVO.NOMBRE
AND ALUMNO.NOMBRE=ANTIGUO.NOMBRE
NOT IN (ANTIGUO.NOMBRE,NUEVO.NOMBRE)
Veo que tienes un cacao montao importante. La última consulta que pones no hay por dónde cogerla.
Creo que no tienes claro el uso de las subconsultas. ¿Cómo sacarías los nombres de alumnos que no estén en antiguo? Debes hacer una consulta dentro del WHERE que extraiga los nombres de esa tabla. Sabiendo eso y con el uso del NOT IN ya sabes como añadir la otra condición solicitada.
Saludos.