
由于我们无法在 MySQL 中使用 MINUS 查询,因此我们将使用 LEFT JOIN 来模拟 MINUS 查询。可以借助以下示例来理解:
示例
在此示例中,我们有两个表,即 Student_det%ign%ignore_a_1%re_a_1%l 和 Student_info,其内容如下数据 –
mysql> Select * from Student_detail;+-----------+---------+------------+------------+| studentid | Name | Address | Subject |+-----------+---------+------------+------------+| 101 | YashPal | Amritsar | History || 105 | Gaurav | Chandigarh | Literature || 130 | Ram | Jhansi | Computers || 132 | Shyam | Chandigarh | Economics || 133 | Mohan | Delhi | Computers || 150 | Rajesh | Jaipur | Yoga || 160 | Pradeep | Kochi | Hindi |+-----------+---------+------------+------------+7 rows in set (0.00 sec)mysql> Select * from Student_info;+-----------+-----------+------------+-------------+| studentid | Name | Address | Subject |+-----------+-----------+------------+-------------+| 101 | YashPal | Amritsar | History || 105 | Gaurav | Chandigarh | Literature || 130 | Ram | Jhansi | Computers || 132 | Shyam | Chandigarh | Economics || 133 | Mohan | Delhi | Computers || 165 | Abhimanyu | Calcutta | Electronics |+-----------+-----------+------------+-------------+6 rows in set (0.00 sec)
现在,以下使用 LEFT JOIN 的查询将模拟 MINUS 以返回 Student_info 中的“studentid”值,但不返回 Student_detail 表中的值。
mysql> SELECT studentid from student_info LEFT JOIN Student_detail USING(studentid) WHERE student_detail.studentid IS NULL;+-----------+| studentid |+-----------+| 165 |+-----------+1 row in set (0.07 sec)
现在,以下查询将为我们提供与上述查询相反的结果,即它将返回 Student_detail 中的“studentid”值,但不会返回 Student_info 表中的值。
mysql> SELECT studentid from student_detail LEFT JOIN Student_info USING(studentid) WHERE student_info.studentid IS NULL;+-----------+| studentid |+-----------+| 150 || 160 |+-----------+2 rows in set (0.00 sec)
以上就是如何使用MySQL LEFT JOIN 来模拟MySQL MINUS 查询?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/102308.html
微信扫一扫
支付宝扫一扫