MySQL基础练习题38-每位教师所教授的科目种类的数量

目录

题目

准备数据

分析数据

总结


题目

查询每位老师在大学里教授的科目种类的数量。

准备数据

sql 复制代码
## 创建库
create database db;
use db;

## 创建表
Create table If Not Exists Teacher (teacher_id int, subject_id int, dept_id int)

## 向表中插入数据
Truncate table Teacher
insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '2', '3')
insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '2', '4')
insert into Teacher (teacher_id, subject_id, dept_id) values ('1', '3', '3')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '1', '1')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '2', '1')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '3', '1')
insert into Teacher (teacher_id, subject_id, dept_id) values ('2', '4', '1')

分析数据

教师 1:

  • 他在 3、4 系教科目 2。

  • 他在 3 系教科目 3。

教师 2:

  • 他在 1 系教科目 1。

  • 他在 1 系教科目 2。

  • 他在 1 系教科目 3。

  • 他在 1 系教科目 4。

sql 复制代码
select teacher_id,
       count(distinct subject_id) cnt
       from teacher
group by teacher_id;

总结

去除重复值使用distinct

相关推荐
准时准点睡觉2 分钟前
window安装MYSQL5.5出错:a windows service with the name MYSQL alreadyexists....
数据库·windows·mysql
无敌最俊朗@1 小时前
SQlite:外键约束
数据库·oracle
某空m2 小时前
【Android】DrawerLayout实现侧边导航栏
android
金仓拾光集2 小时前
金仓替代MongoDB:安全与性能协同提升——社交用户画像系统的国产化实践
数据库·安全·mongodb·kingbase·kingbasees·数据库平替用金仓·金仓数据库
FinTech老王2 小时前
国产数据库替换MongoDB实战:浙江人民医院电子病历系统国产化升级案例
数据库·mongodb
l1t2 小时前
在Lua用luasql-sqlite3库访问SQLite数据库
数据库·git·sqlite·lua
2501_938780282 小时前
《轨道交通检测系统中 Qt 与数据库交互的优化方案》
数据库·qt·交互
qqxhb2 小时前
系统架构设计师备考第61天——嵌入式系统架构模式&操作系统&数据库&中间件
数据库·中间件·系统架构·sqlite·dds·层次化(封闭/开放)·递归模式
SelectDB3 小时前
Apache Doris 数据导入原理与性能优化 | Deep Dive
运维·数据库·数据分析
stevenzqzq3 小时前
Android开发工作经历整理
android·简历