mysql经典面试题
2017-03-16 17:24
633 查看
面试题目:
有一张表
用一句简单的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
一周课数
写的不是很好,谢谢补充优化!
有一张表
用一句简单的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
一周课数
写的不是很好,谢谢补充优化!
相关文章推荐
- mysql 经典面试题
- mysql经典面试题
- 【MySQL】20个经典面试题,全部答对月薪10k+
- 20个经典MySQL面试题,全部答对月薪10k+(感觉有点难)
- 【MySQL】20个经典面试题,全部答对月薪10k+
- JAVA面试题jsp ejb sql 数据库 等面试题 Oracle Sql server MySQL 经典数据库学习资料
- 【MySQL】20个经典面试题
- 49.tlegf【MySQL】20个经典面试题,全部答对月薪10k+
- 33.bpidx【MySQL】20个经典面试题,全部答对月薪10k+
- MySQL20个经典面试题(关于引擎 日志 备份 比较深入)
- 【MySQL】20个经典面试题,全部答对月薪10k+
- 【MySQL】20个经典面试题,全部答对月薪10k+
- 【MySQL】20个经典面试题,全部答对月薪10k+
- 11.titma【MySQL】20个经典面试题,全部答对月薪10k+
- 72.apkxs【MySQL】20个经典面试题,全部答对月薪10k+
- MySQL经典面试题
- 【MySQL】20个经典面试题
- 89.rgnbx【MySQL】20个经典面试题,全部答对月薪10k+
- MySQL之一道关于GROUP BY的经典面试题
- mysql经典面试题