exists(拼接 EXISTS sql语句 )
实例:如果在 user_contact 中存在 user_id 等于 1 的记录,则返回 user 表的所有记录。如下:
QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
wrapper.exists("select id from user_contact where user_id=1");
上面实例将最终执行下面SQL语句:
SELECT user_id,name,sex,age,face,salary,borthday
FROM user
WHERE (EXISTS (select id from user_contact where user_id=1))
注意:实际应用中,我们希望查询 user 表中的 user_id 在 user_contact 表中存在,说明用户存在联系方式。如下:
SELECT user_id,name,sex,age,face,salary,borthday
FROM `user` u
WHERE (EXISTS (select id from user_contact where user_id=u.user_id));
上面 SQL 语句只返回 user 表的 user_id 在 user_contact 表中存在的 user 记录。
notExists(拼接 NOT EXISTS sql语句)
实例:如果在 user_contact 表中不存在 user_id 等于 1 的记录,则返回 user 表中所有的记录。如下:
QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
wrapper.notExists("select id from user_contact where user_id=1");
上面实例将最终执行下面SQL语句:
SELECT user_id,name,sex,age,face,salary,borthday
FROM user
WHERE (NOT EXISTS (select id from user_contact where user_id=1))
注意:实际应用中,我们希望查询 user 表中的 user_id 在 user_contact 表中不存在,说明用户没有联系方式。如下:
SELECT user_id,name,sex,age,face,salary,borthday
FROM `user` u
WHERE (not EXISTS (select id from user_contact where user_id=u.user_id));
上面 SQL 语句只返回 user 表中的 user_id 在 user_contact 表中不存在的 user 记录。