Sql 如果满足另一个表中的条件,则显示该表中的行

Sql 如果满足另一个表中的条件,则显示该表中的行,sql,oracle,oracle-apex,Sql,Oracle,Oracle Apex,我有两个表格,学生和应用程序。一个学生有一个ID和一个名字,可以提出许多申请。应用程序表具有ID、作为FK的学生ID和应用程序状态 我想显示所有学生,其中没有一个学生的申请状态为“申请人接受录取” 我试过: SELECT STUDENTS.FIRST_NAME ||' '||STUDENTS.LAST_NAME "Student Name" FROM STUDENTS JOIN APPLICATIONS ON STUDENTS.SRN = APPLICATIONS.SRN WHERE APPLI

我有两个表格,
学生
应用程序
。一个学生有一个ID和一个名字,可以提出许多申请。应用程序表具有ID、作为FK的学生ID和应用程序状态

我想显示所有学生,其中没有一个学生的申请状态为“申请人接受录取”

我试过:

SELECT STUDENTS.FIRST_NAME ||' '||STUDENTS.LAST_NAME "Student Name"
FROM STUDENTS
JOIN APPLICATIONS ON STUDENTS.SRN = APPLICATIONS.SRN
WHERE APPLICATION_STATUS != 'APPLICANT ACCEPTED OFFER';

这是我到目前为止尝试过的,但它不是显示尚未接受录取通知书的学生,而是显示所有未被接受的申请。

您不需要加入,请使用
不存在

 SELECT STUDENTS.FIRST_NAME ||' '||STUDENTS.LAST_NAME "Student Name"
 FROM STUDENTS
 WHERE not exists ( select 1 from 
    APPLICATIONS where STUDENTS.SRN = APPLICATIONS.SRN
    And APPLICATION_STATUS = 'APPLICANT ACCEPTED OFFER');

您不需要加入,请使用
notexists

 SELECT STUDENTS.FIRST_NAME ||' '||STUDENTS.LAST_NAME "Student Name"
 FROM STUDENTS
 WHERE not exists ( select 1 from 
    APPLICATIONS where STUDENTS.SRN = APPLICATIONS.SRN
    And APPLICATION_STATUS = 'APPLICANT ACCEPTED OFFER');

请提供一些样本数据和预期输出。请提供一些样本数据和预期输出。