日期:2014-05-16  浏览次数:20719 次

在线请教一个SQL简单的SQL查询语句!
TA
  Code, Type,
  001    A
  002    B
  003    A
  004    C
  
  
TB
   Type   Class
   A       00
   B       01
   C       03
   D       78
   .....
   
1)现在想要查询TA表中查询所有Class 不为 01 和 03 的所有记录
2)如果Code 对应的Type在TB 中没有对应的Type也要显示

怎么写的简单,高效,我自己也写了一个,但是是用的嵌套查询,总觉得有更简单的方法


------解决方案--------------------
SELECT *
FROM TA
WHERE Class NOT IN (
'01'
,'03'
)
OR NOT IN (
SELECT [Type]
FROM TB
)
------解决方案--------------------
SELECT *
FROM TA
WHERE Class NOT IN (
'01'
,'03'
)
OR  [Type] NOT IN (
SELECT [Type]
FROM TB
)

------解决方案--------------------
select a.* FROM TA a left join TB b on a.type=b.type
where b.class not in ('01','03')