Sql 基于另一个表中的条件显示表中的列

Sql 基于另一个表中的条件显示表中的列,sql,oracle,subquery,Sql,Oracle,Subquery,有两张表,联系人和客户 **Contact Table** id(primary key) org_name city state email **Customer Table** id(primary key

有两张表,联系人和客户

**Contact Table**                          
id(primary key)   
org_name                                   
city                                       
state                                     
email 

**Customer Table**   
id(primary key)                                 
created_under_id  
contact_id  
notes  
credit_limit
需要查询以显示信用额度超过25000的所有客户的组织名称、城市、州和电子邮件。根据记录的组织名称以升序显示记录

我尝试了此查询,但不起作用:

SELECT org_name,city,state,email FROM contact  
    WHERE contact.id IN (SELECT customer.id FROM customer  
                  WHERE credit_limit >25000)ORDER BY org_name ASC;

您可以在子查询中将
customer.id
替换为
customer.contact\u id

或者,您也可以在这些表之间使用JOIN语句,如下所示:

SELECT c.org_name, c.city, c.state, c.email
  FROM contact c
  LEFT OUTER JOIN customer r
    ON ( c.id = r.contact_id )
 WHERE r.credit_limit > 25000
 ORDER BY c.org_name ASC;
i、 e.
Contact.ID
Customer.Contact\u ID
是构建表之间关系的常用列。

能否详细说明“不工作”?你有错误吗?错误的结果?