面试题目(sql)

来源:百度知道 编辑:UC知道 时间:2024/06/10 03:53:48
程序员面试SQL题目!谁帮忙看看怎么做?本人感激不尽!
SQL试题2
一、
教师号 星期号 是否有课
1 2 有
1 3 有
2 1 有
3 2 有
1 2 有
写一条sql语句让你变为这样的表
教师号 星期一 星期二 星期三
1 2 1
2 1
3 1
各星期下的数字表示:对应的教师在星期几已经排的课数

我使用的是MySQL 如下语句:
建表语句:
create table Lessoninfo(
no int,
week int,
isonduty char);

插入数据:略
insert into Lessoninfo values(...............)

SQL查询语句:

select no as '教师号', sum(week=1) as '星期一',sum(week=2) as '星期二',sum(week=3) as '星期三' from Lessoninfo group by no;

/***********************附结果******************

mysql> select no as '教师号', sum(week=1) as '星期一',sum(week=2) as '星期二',su
m(week=3) as '星期三' from Lessoninfo group by no;
+--------+--------+--------+--------+
| 教师号 | 星期一 | 星期二 | 星期三 |
+--------+--------+--------+--------+
| 1 | 0 | 2 | 1 |
| 2 | 1 | 0 | 0 |
| 3 | 0 | 1 | 0 |
+--------+--------+--------+--------+
3 rows in set (0.02 sec)