mysql查询未讲课教师_mysql经典查询练习
时间: 2023-07-06 14:25:45 浏览: 89
您好!针对您的问题,以下是一种可能的解决方案:
首先,我们需要创建两张表:一张是教师表(teacher),包含教师的姓名和工号;另一张是已讲课程表(course),包含课程名称和授课教师的工号。这两张表可以通过工号进行关联。
创建教师表:
```
CREATE TABLE teacher (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
number VARCHAR(20) NOT NULL
);
```
创建已讲课程表:
```
CREATE TABLE course (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
teacher_number VARCHAR(20) NOT NULL,
FOREIGN KEY (teacher_number) REFERENCES teacher(number)
);
```
接着,我们需要向这两张表中插入一些数据,以便进行查询。
向教师表中插入数据:
```
INSERT INTO teacher(name, number) VALUES
('张三', 'T001'),
('李四', 'T002'),
('王五', 'T003'),
('赵六', 'T004');
```
向已讲课程表中插入数据:
```
INSERT INTO course(name, teacher_number) VALUES
('数学', 'T001'),
('英语', 'T002'),
('物理', 'T003');
```
现在,我们就可以进行查询了。要查询未讲课的教师,可以使用左连接(LEFT JOIN)和 IS NULL 来实现。
查询未讲课的教师:
```
SELECT t.name, t.number
FROM teacher t
LEFT JOIN course c ON t.number = c.teacher_number
WHERE c.id IS NULL;
```
执行上述查询语句后,将会返回未讲课的教师的姓名和工号。
希望对您有所帮助!