关于在SQL中要判断 多个条件有一个不成立的情况应该怎么写?
有三个表: 
 表一:   
 CREATE   TABLE   [dbo].[学生信息]   ( 
 	[学生ID]   [int]   IDENTITY   (1,   1)   NOT   NULL   , 
 	[学号]   [char]   (15)   COLLATE   Chinese_PRC_CI_AS   NULL   , 
 	[姓名]   [char]   (10)   COLLATE   Chinese_PRC_CI_AS   NULL   , 
 	)   ON   [PRIMARY] 
 GO 
 表二: 
 CREATE   TABLE   [dbo].[家庭信息]   ( 
 	[家庭信息ID]   [int]   IDENTITY   (1,   1)   NOT   NULL   , 
 	[成员姓名]   [char]   (10)   COLLATE   Chinese_PRC_CI_AS   NULL   , 
 	[成员关系]   [char]   (10)   COLLATE   Chinese_PRC_CI_AS   NULL   , 
 	[学生ID]   [int]   NULL    
 )   ON   [PRIMARY] 
 GO 
 表三:   
 CREATE   TABLE   [dbo].[学生简历]   ( 
 	[学生简历ID]   [int]   IDENTITY   (1,   1)   NOT   NULL   , 
 	[起始时间]   [datetime]   NULL   , 
 	[终止时间]   [datetime]   NULL   , 
 	[工作单位]   [varchar]   (50)   COLLATE   Chinese_PRC_CI_AS   NULL   ,	 
 	[学生ID]   [int]   NULL    
 )   ON   [PRIMARY] 
 GO     
 需要实现功能:在学生简历和家庭信息都不存在时才能删除学生信息表: 
 方法一:     
 CREATE   PROCEDURE   删除学生信息 
 @学生ID   int 
 AS 
 begin 
 set   nocount   on 
 if   exists   ( 
 ((select   家庭信息ID   from   dbo.家庭信息   where   学生ID=@学生ID)   is   null)   and 
 ((select   家庭信息ID   from   dbo.家庭信息   where   学生ID=@学生ID   )   is   null   ) 
 ) 
 delete   dbo.学生信息   where   学生ID=@学生ID   
 为什么报错: 
 服务器:   消息   156,级别   15,状态   1,过程   删除学生信息,行   7 
 在关键字    'is '   附近有语法错误。 
 服务器:   消息   156,级别   15,状态   1,过程   删除学生信息,行   8 
 在关键字    'is '   附近有语法错误。 
 服务器:   消息   170,级别   15,状态   1,过程   删除学生信息,行   10 
 第   10   行:    '@学生ID '   附近有语法错误。   
 方法二:     
 CREATE   PROCEDURE   删除学生信息 
 @学生ID   int 
 AS 
 begin 
 set   nocount   on 
 if   not   exists   ( 
 (select   家庭信息ID   from   dbo.家庭信息   where   学生ID=@学生ID)   or 
 (select   家庭信息ID   from   dbo.家庭信息   where   学生ID=@学生ID   )    
 ) 
 delete   dbo.学生信息   where   学生ID=@学生ID   
 报错: 
 服务器:   消息   156,级别   15,状态   1,过程   删除学生信息,行   8 
 在关键字    'or '   附近有语法错误。 
 服务器:   消息   170,级别   15,状态   1,过程   删除学生信息,行   10 
 第   10   行:    ') '   附近有语法错误。 
 服务器:   消息   170,级别   15,状态   1,过程   删除学生信息,行   11 
 第   11   行:    '@学生ID '   附近有语法错误。   
 希望高手给予指教!请问在SQL中   or   关键字,能不能像在程序中那样做为‘或’运算! 
 在SQL   中要判断   多个条件有一个不成立的情况应该怎么写?
------解决方案--------------------汗, 
 按照你这个思路可以考虑这么写 
 CREATE PROCEDURE 删除学生信息 
 @学生ID int 
 AS 
 begin 
 DECLARE @sumCount int, 
 DECLARE @jlCount int, 
 DECLARE @jtCount int     
 set @jtcount=(select count(*) from 家庭信息 where 学生ID=@学生ID)   
 set @jlCount=(select count(*) from 学生简历 where 学生ID=@学生ID) 
 set @sumCount=@jlCount+@jtCount   
 if @sumCount=0  
 begin 
   delete d