create table Student (ID number(12) primary key ,STNAMNE varchar(20), UNIT varchar(20),Age number(3));
--UNIT 所属单位
create table Course (ID number(12) primary key,COUNAMNE varchar(20));
create table SC(ID number(12) CONSTRAINT FK_STU REFERENCES Student(ID),COURSEID number(12) CONSTRAINT FK_COU REFERENCES Course(ID), scor number(3), CONSTRAINT P_PK PRIMARY KEY(ID,COURSEID));insert into Student values(1,'A','数字天堂',25);
insert into Student values(2,'B','trs',25);
insert into Student values(3,'C','商佳科技',25);
insert into Student values(4,'D,'IBM',25);
insert into Student values(5,'E','Oracle',25);insert into Course values(1,'java');
insert into Course values(2,'html');
insert into Course values(3,'javascript');
insert into Course values(4,'sql-plsql');insert into SC values(1,1,99);
insert into SC values(3,3,89);
insert into SC values(1,4,79);
insert into SC values(4,4,100);
insert into SC values(5,1,87);
insert into SC values(3,2,98);
insert into SC values(5,4,88);
求:选择java 而没有选择JavaScript的有那些同学

解决方案 »

  1.   

    SELECT s.stnamne FROM student s
    WHERE ID IN (
       SELECT sc.ID FROM sc,course c
       WHERE sc.courseid=c.id AND c.counamne='java'
       MINUS
       SELECT sc.ID FROM sc,course c
       WHERE sc.courseid=c.id AND c.counamne='javascript');
      

  2.   

     select * from Student a ,Course c,sc d
     where d.courseid=c.id and d.id=a.id
     and COUNAMNE='javascript'