热线电话:13121318867

登录
2019-02-25 阅读量: 696
SQL查询语句

问题描述:

有一张表:t_student

字段:
id
name
age
status (0,1,2,3,4,5,6)
teacher_id

如果teacher_id是空,就不查询status=0
这种SQL语句怎么写?

解决方法:

WITH T AS (
SELECT 1 AS ID, 'A' AS NAME, 21 AS AGE, 0 AS STATUS, 1 AS TEACHERID FROM DUAL UNION ALL
SELECT 2 AS ID, 'B' AS NAME, 20 AS AGE, 1 AS STATUS, 1 AS TEACHERID FROM DUAL UNION ALL
SELECT 3 AS ID, 'C' AS NAME, 21 AS AGE, 2 AS STATUS, 2 AS TEACHERID FROM DUAL UNION ALL
SELECT 4 AS ID, 'D' AS NAME, 22 AS AGE, 3 AS STATUS, 3 AS TEACHERID FROM DUAL UNION ALL
SELECT 5 AS ID, 'E' AS NAME, 23 AS AGE, 0 AS STATUS, NULL AS TEACHERID FROM DUAL
)
SELECT * FROM T
WHERE (TEACHERID IS NULL AND STATUS <> 0) OR TEACHERID IS NOT NULL;

66.4913
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子