書くとき:
SELECT * FROM USERS WHERE Username in ('user1', 'user2', 'user3')
これは次と同等ですか:
SELECT * FROM USERS WHERE Username = 'user1' OR Username = 'User2' OR Username = 'User3'
さらに、句にlike
パターン機能 ( %
)を提供できますか?IN
書くとき:
SELECT * FROM USERS WHERE Username in ('user1', 'user2', 'user3')
これは次と同等ですか:
SELECT * FROM USERS WHERE Username = 'user1' OR Username = 'User2' OR Username = 'User3'
さらに、句にlike
パターン機能 ( %
)を提供できますか?IN
Are they equivalent?
答え: はい
ただし、値が多数ある場合は句IN
よりも読みやすいので、句を使用することをお勧めします。OR
同様のパターン機能 (%) を IN 句に提供できますか
答え:いいえ
IN
節で like 操作を使用することはできません。パターンオプションが必要な場合はOR
、 like 演算子を使用して使用できます。
はい、できません。質問やCASEのように、ORを使用して複数の全文検索を使用することを検討できます
多値パラメーターを扱うときは「in」を使用します。それ以外の場合は、好みだけで、大きな違いはありません。
2 番目の質問: いいえ、使用する必要があります。
WHERE Username LIKE '%1'
OR Username LIKE '%2'
OR Username LIKE '%3'
...
etc.