2016-03-17 54 views
-1

我有两个表,它们之间的关系是否定的。 。我如何检索第一个表和第二个表中的所有数据

table1 
--------------- 
NO.  courses 
--------------- 
1   CHEM 101 
2   ENGL 101 
3   MATH 101 
4   PE 101 
5   PHYS 101 
6   IAS 101 

table2 
---------------------------- 
NO.   ID  Grades 
---------------------------- 
1   5050  A+ 
2   5050  B 
1   4040  A 
2   4040  C 

我如何写SQL查询来给我的输出形式Table 1和Table只对谁ID是5050和输出应该是这样的

output 
-------------------------- 
courses   Grades 
-------------------------- 
CHEM 101  A+ 
ENGL 101  B 
MATH 101  null 
PE 101   null 
PHYS 101  null 
IAS 101   null 

回答

1

这是一个LEFT JOIN的一个例子 - 将所有行保留在第一个表中,但只保留第二个表中的匹配行。

在你的情况,这看起来像:

select t1.*, t2.grade 
from table1 t1 left join 
    table2 t2 
    on t1.no = t2.no and t2.id = 5050; 
相关问题