SQL операторы "LIKE" и "IN" - PullRequest
       0

SQL операторы "LIKE" и "IN"

0 голосов
/ 13 февраля 2020

В чем разница между операторами "LIKE" и "IN" в oracle sql?

Ответы [ 4 ]

0 голосов
/ 13 февраля 2020

если вы используете LIKE, вы используете PATTERN, который используется для получения данных выбора:

SELECT salary 
FROM employees
WHERE last_name LIKE 'R%';

В случае использования IN вы определяете LIST OF VALUES, который используется для получения данных.

1005

С уважением

0 голосов
/ 13 февраля 2020
select * from t where col like '%MATCH_1%';

выбирает все строки, в которых столбец содержит «MATCH», затем любой символ, затем «1».

select * from t where col like 'PREFIX%';

выбирает все строки, в которых столбец имеет префикс «PREFIX».

select * from t where col like '%APPENDIX';

выбирает все строки, где столбец заканчивается «ПРИЛОЖЕНИЕМ».

select * from t where col IN (1,10,20);

выбирает все строки, где столбец имеет одно из значений в списке. Список не должен быть пустым.

Таким образом, оператор IN сильно отличается от LIKE.

0 голосов
/ 13 февраля 2020

IN оператор создает серию операторов OR, таких как

SELECT * FROM table WHERE column IN (a, b, c) 

-- Which also means

SELECT * FROM table WHERE column = a OR column = b OR column = c

При использовании LIKE мы ищем сходство:

SELECT * FROM table WHERE column LIKE '%Text%'

с помощью слов вы можете манипулировать этим утверждением для множества сценариев ios т.е. w3 school

SELECT * FROM table WHERE column LIKE '%Text%' --Finds any values that has Text
SELECT * FROM table WHERE column LIKE 'Text%'  --Finds any values that start with Text
SELECT * FROM table WHERE column LIKE '%Text'  --Finds any values that ends with Text

Ответ на этот вопрос широкий и зависит от use- случай . Если у вас есть сценарий использования , тем лучше.

0 голосов
/ 13 февраля 2020

Оператор LIKE предназначен для простого сопоставления строкового шаблона. Например:

SELECT column1 FROM table1 WHERE string_column LIKE 'ABC%';

Оператор IN проверяет совпадение в списке значений. Например:

SELECT column1 FROM table1 WHERE string_column IN ('This', 'That');
SELECT column1 FROM table1 WHERE fk_column IN (SELECT id FROM table2);

Для дополнительного чтения вот документы для LIKE и документы для IN .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...