【问题标题】:What does it mean SELECT EXISTS (SELECT 1 FROM favoritelist WHERE id=:id)SELECT EXISTS (SELECT 1 FROM favoritelist WHERE id=:id) 是什么意思
【发布时间】:2020-08-15 09:48:46
【问题描述】:
SELECT EXISTS (SELECT 1 FROM favoritelist WHERE id=:id)在中是什么意思:
@Query("SELECT EXISTS (SELECT 1 FROM favoritelist WHERE id=:id)")
public int isFavorite(int id);
【问题讨论】:
标签:
mysql
sql
database
sqlite
android-studio
【解决方案1】:
SELECT EXISTS (SELECT 1 FROM favoritelist WHERE id=:id)
exists 条件评估favoritelist 中是否至少存在一行,其中id 与给定参数匹配。外部查询在数字上下文中评估条件,如果满足条件则返回1,否则返回0。
简而言之:
【解决方案2】:
SQL 代码是一个查询,返回 true 或 false 取决于 id 等于 :id 的元素(这是执行查询时需要绑定的参数)是否存在于表“favoritelist”或不是。
这里它用于@Query annotation 并指定在调用isFavorite 方法时运行的SQL 查询 - 该方法的id 参数绑定到查询中的:id 参数。