检测排课冲突的SQL语句设计问题 急急急

“Select A.*B.*
FROM ABC AS A,ABC AS B
WHERE a.ID<>b.ID and a.SKXQID=b.SKXQID and a.XQID=b.XQID and a.EZC>=b.BZC and ·····························
这是一个单表查询 表名为ABC
表大致是 课程 老师 班级 上课时间、地点
XX XX XX XXXX
··· ··· ··· ···
这条语句表示的是把表中所有两个有冲突的课程找出来?
“Select A.*B.*
FROM ABC AS A,ABC AS B这条语句是怎么做到查找所有的课程之间有没有冲突!!!
where后面是冲突条件 这个我知道·····

and a.EZC>=b.BZC--不一致列名是否搞错了

在条件里引用,这样不会出错重复记录,其它条件自己加上,看结果是否正确

SELECT * FROM ABC AS a WHERE EXISTS(SELECT 1 FROM ABC AS b WHERE a.ID<>b.ID and a.SKXQID=b.SKXQID and a.XQID=b.XQID)

FROM ABC AS A,ABC AS B

两个abc 一样有错
查找abc (a) 课表和 cba (b) 所有的信息,where是筛选条件
as 的作用是 把 abc 写做 a

在同一张表中查询,查出来有相同记录的(不包括id)就是有冲突了。给同一张表分别取两个不同的别名A和别名B,在A表和B表中进行查询
(就和两张表联合查询一样的),如果有重复的记录就说明课程冲突了,很简单的

具体怎么实现的要看你where子句中怎么写