Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2011, 11:49
cristito21
 
Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Oracle Consulta con =!

Saludos a Todos

Bueno mi consulta es la siguiente si me pudiesen ayudar se los agradezco:

Primero voy a crear las tablas

Creo la tabla departamentos

CREATE TABLE DEPARTAMENTOS(
ID NUMERIC(10),
NOMBRE VARCHAR2(30),
CONSTRAINT PRIMARIA_DEPAR
PRIMARY KEY(ID)
);

Creo la tabla empleados con llave foranea a tabla departamentos

CREATE TABLE EMPLEADOS(
ID NUMERIC(10),
NOMBRE VARCHAR2(30),
DEPARTAMENTO NUMERIC(10),
CONSTRAINT PRIMARIA_EMP
PRIMARY KEY(ID),
CONSTRAINT FORANEA_EMP_DEP
FOREIGN KEY(DEPARTAMENTO)
REFERENCES DEPARTAMENTOS(ID)
);

Ahora si inserto varias lineas

En la tabla Departamentos


INSERT INTO DEPARTAMENTOS VALUES(1,'CONTA');
INSERT INTO DEPARTAMENTOS VALUES(2,'RHH');
INSERT INTO DEPARTAMENTOS VALUES(3,'PRODUCCION');

En la tabla Empleados


INSERT INTO EMPLEADOS VALUES(1,'JUAN',1); // Pertenece a Conta
INSERT INTO EMPLEADOS VALUES(2,'PEDRO',1); // Pertenece a Conta
INSERT INTO EMPLEADOS VALUES(3,'NATALIA',2); // Pertenece a RHH

Ahora lo que quiero realizar es una consulta de los departamentos que no tienen empleados asignados:
En este caso seria que despliegue el departamento 3 el de Produccion

Entonces realizo la consulta:

SELECT *
FROM DEPARTAMENTOS, EMPLEADOS
WHERE DEPARTAMENTOS.ID != EMPLEADOS.DEPARTAMENTO;

Pero este tipo de consulta me desplieqa:

ID NOMBRE ID NOMBRE
2 RHH 1 JUAN
3 PRODUCCION 1 JUAN
2 RHH 2 PEDRO
3 PRODUCCION 2 PEDRO
1 CONTA 3 NATALIA
3 PRODUCCION 3 NATALIA

Y ahi esta el error por que lo que quiero es que me despliegue solo los departamentos que no tienen empleados y me despliega por empleado los departamentos en los cuales no esta.

Les agradezco bastante :