gpt4 book ai didi

mysql - 选择两个表的差异

转载 作者:行者123 更新时间:2023-11-29 19:46:42 28 4
gpt4 key购买 nike

我正在尝试做一些我觉得应该有点简单的事情。我有两个选择语句:

  1. SELECT concat(st.fname,' ',st.lname) 作为全名,st.parent_phone
    FROM 学生为 st,年级为 g,学期为 s,学期为 sem
    其中 st.studentid=g.studentid AND g.sectionid=s.sectionid
    AND s.semesterid=sem.semesterid AND s.semesterid 不在 (3, 4) 中
    按全名分组;

返回此(模拟数据):

selectstatement1

  • SELECT concat(st.fname,' ',st.lname) 作为全名,st.parent_phone
    FROM 学生为 st,年级为 g,学期为 s,学期为 sem
    其中 st.studentid=g.studentid AND g.sectionid=s.sectionid
    AND s.semesterid=sem.semesterid AND s.semesterid in (3, 4)
    按全名分组;
  • 然后返回:

    enter image description here

    我想要做的是按字母顺序显示第一个语句中出现的三个记录,但第二个语句中没有出现的三个记录。我想从语句 1 中减去语句 2 中的所有记录。有人可以帮助我吗?

    最佳答案

    尝试:

    SELECT x.*
    FROM (
    -- the first subquery goes here
    ) x
    LEFT JOIN (
    -- the second subquery goes here
    ) y
    ON x.full_name = y.full_name AND x.parent_phone = y.parent_phone
    WHERE y.parent_phone IS NULL

    关于mysql - 选择两个表的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40922423/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com