在工作学习中,我们有时会见到类似这样的sql:
SELECT * FROM tbl_user tbu WHERE (tbu.serial, tbu.serial_sub) IN (('SN001', '001'), ('SN002', '002'))
这就是多字段IN。
对于单字段IN,稍微熟悉SQL语法的朋友应该都清楚。而多字段IN则在此基础上增加字段,但落上依旧是“某个单元” 位于 “某个列表”,只是这个单元从原先的一个字段变成了多个字段。
对于上面的SQL,其实是等价于:
SELECT * FROM tbl_user tbu WHERE
(tbu.serial = 'SN001' AND tbu.serial_sub = '001')
OR
(tbu.serial = 'SN002' AND tbu.serial_sub = '002')
平时见得不多,在Mybatis的xml中用的可能更多一点。