You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MariaDB查询未领取指定课程教材的学生ID

找出未领取指定教材的学生ID查询方法

你可以通过以下几种MariaDB查询语句,直接列出目标课程中未领取指定教材的学生ID:

方法1:使用NOT IN

SELECT `Student-ID`
FROM `AllRosters2324`
WHERE `Teacher` = 'TeacherName' 
  AND `Period` IN (2,6)
  AND `Student-ID` NOT IN (
    SELECT `Patron Barcode`
    FROM `textBooks`
    WHERE `Title` = "TextBookTitle"
  );

方法2:使用LEFT JOIN + IS NULL(推荐大数据量场景)

这种方式性能更稳定,且能避免NOT IN遇到空值时的异常:

SELECT a.`Student-ID`
FROM `AllRosters2324` a
LEFT JOIN `textBooks` t 
  ON a.`Student-ID` = t.`Patron Barcode`
  AND t.`Title` = "TextBookTitle"
WHERE a.`Teacher` = 'TeacherName' 
  AND a.`Period` IN (2,6)
  AND t.`Patron Barcode` IS NULL;

方法3:使用NOT EXISTS

逻辑清晰,执行效率也较好:

SELECT `Student-ID`
FROM `AllRosters2324` a
WHERE `Teacher` = 'TeacherName' 
  AND `Period` IN (2,6)
  AND NOT EXISTS (
    SELECT 1
    FROM `textBooks` t
    WHERE t.`Patron Barcode` = a.`Student-ID`
      AND t.`Title` = "TextBookTitle"
  );

以上三种方法都能准确筛选出那9名未领取指定教材的学生ID,可根据数据量选择合适的语句。

内容的提问来源于stack exchange,提问作者Steve Gutierrez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 20:46:05