首页 > 安全资讯 >

mysql经典面试题

17-03-17

mysql经典面试题。

mysql经典面试题,面试题目:

有一张表

用一句简单的sql得出如下图:

一种方式:

 

SELECT
	tcr.教师号,
	(
		CASE (
			SELECT
				是否有课
			FROM
				t_teacher t
			WHERE
				t.星期号 = 1
			AND t.教师号 = tcr.教师号
		)
		WHEN '有' THEN
			'有课'
		ELSE
			'无课'
		END
	) AS 周一,
	(
		CASE (
			SELECT
				是否有课
			FROM
				t_teacher t
			WHERE
				t.星期号 = 2
			AND t.教师号 = tcr.教师号
		)
		WHEN '有' THEN
			'有课'
		ELSE
			'无课'
		END
	) AS 周二,
	(
		CASE (
			SELECT
				是否有课
			FROM
				t_teacher t
			WHERE
				t.星期号 = 3
			AND t.教师号 = tcr.教师号
		)
		WHEN '有' THEN
			'有课'
		ELSE
			'无课'
		END
	) AS 周三,
	(
		SELECT
			COUNT(教师号)
		FROM
			t_teacher tc
		WHERE
			tc.教师号 = tcr.教师号
	) AS 一周课数
FROM
	t_teacher tcr
GROUP BY
	tcr.教师号
HAVING
	一周课数 > 1
ORDER BY
	一周课数

写的不是很好,谢谢补充优化!
相关文章
最新文章
热点推荐