[SQL] "LIKE"과의 차이점은 SQL에서 "="는 무엇인가요?
SQL"LIKE"과의 차이점은 SQL에서 "="는 무엇인가요?
어떤 차이 사이가 있습니까 :
SELECT * FROM users WHERE username="davyjones"
과
SELECT * FROM users WHERE username LIKE "davyjones"
(난 ... 구문을 실수 한 것 같아 그 날 용서, 나는) 주로 데스크톱 응용 프로그램 개발 사나이
해결법
-
==============================
1.SQL 표준에 따라, 차이는 CHAR 컬럼에 공백을 후행의 치료입니다. 예:
SQL 표준에 따라, 차이는 CHAR 컬럼에 공백을 후행의 치료입니다. 예:
create table t1 ( c10 char(10) ); insert into t1 values ('davyjones'); select * from t1 where c10 = 'davyjones'; -- yields 1 row select * from t1 where c10 like 'davyjones'; -- yields 0 rows
물론, 당신이 표준을 준수하는 DBMS에서이 작업을 실행 가정. BTW,이 문자와 VARCHAR에 사이에 하나의 주요 차이점이다.
-
==============================
2.LIKE 정확한 일치를위한 검사 동안 = 와일드 카드의 부분 검색 / 사용할 수있다.
LIKE 정확한 일치를위한 검사 동안 = 와일드 카드의 부분 검색 / 사용할 수있다.
예를 들면
SELECT * FROM test WHERE field LIKE '%oom';
필드 값은 다음 중 하나입니다 행을 반환합니다 :
Zoom, Boom, Loom, Groom
-
==============================
3.이 경우, 결과에 와서 아무런 차이가 없다. 그러나, 그것은을 비교 한위한 다른 방법을 사용하고, "LIKE"는 훨씬 느린 것입니다.
이 경우, 결과에 와서 아무런 차이가 없다. 그러나, 그것은을 비교 한위한 다른 방법을 사용하고, "LIKE"는 훨씬 느린 것입니다.
LIKE의 예는이 체크 아웃 : http://www.techonthenet.com/sql/like.php
이 경우, 당신은 여전히 등호를 사용하고 싶습니다.
업데이트 : 그것은 결과가 다를 수있는 CHAR 유형의 컬럼에 올 때 중요한 차이가 참고있다. 자세한 내용은이 대답을 참조하십시오. VARCHAR (아마도 표준)을 사용하는 경우, 상기 동일과 같음이 바람직 할 것이다.
-
==============================
4.LIKE가 _ %와 같은 와일드 카드 (여기에서 문자의 수)와 수 (한 문자 여기).
LIKE가 _ %와 같은 와일드 카드 (여기에서 문자의 수)와 수 (한 문자 여기).
SELECT * FROM users WHERE username LIKE 'joe%'
선택 조로 시작하는 모든 사용자 이름을.
-
==============================
5.
create table A (id int,name varchar(30)) insert into A values(4,'subhash')
이름 필드를 검색 할 후행 공백을 사용합니다 :
select * from A where name='Subhash ' --Yields 1 row select * from A where name like 'Subhash ' --Yields 0 row
-
==============================
6.패턴에 대한 LIKE 검색합니다.
패턴에 대한 LIKE 검색합니다.
/* Returns all users whose username starts with "d" */ SELECT * FROM users WHERE username LIKE 'd%' /* Returns all users whose username contains "dav" */ SELECT * FROM users WHERE username LIKE '%dav%'
-
==============================
7.그것은 당신에게 동일한 결과를 줄 것이다. 그러나 LIKE 예를 들어, 와일드 카드를 허용 ...
그것은 당신에게 동일한 결과를 줄 것이다. 그러나 LIKE 예를 들어, 와일드 카드를 허용 ...
SELECT * FROM users WHERE username LIKE 'davy%'
유일한 구문 문제는 큰 따옴표 대신 작은 따옴표이었다
-
==============================
8.LIKE 와일드 카드를 지원합니다. 보통은 와일드 카드에 대한 % 또는 _ 문자를 사용합니다.
LIKE 와일드 카드를 지원합니다. 보통은 와일드 카드에 대한 % 또는 _ 문자를 사용합니다.
와일드 카드로 LIKE 연산자를 사용 = 연산자를 사용하는 것과 동일하다.
-
==============================
9.등의 조건은 사용 와일드 카드로 할 수 있습니다 :
등의 조건은 사용 와일드 카드로 할 수 있습니다 :
SELECT * FROM suppliers WHERE supplier_name like 'Hew%';
더 많은 예제를 참조하십시오.
과 같음 = 평등 매칭에 사용된다.
-
==============================
10.등을 패턴 매칭 연산자이며 = 완전 검색 연산자이다. 즉 W % 같은 이름이 W와 하나 이상의 문자 후에 시작 위치를 의미 및 = 즉 이름 = '제임스이 정확한 매칭이며
등을 패턴 매칭 연산자이며 = 완전 검색 연산자이다. 즉 W % 같은 이름이 W와 하나 이상의 문자 후에 시작 위치를 의미 및 = 즉 이름 = '제임스이 정확한 매칭이며
-
==============================
11.같음 '='단지 평등을위한 것입니다. 반면에, LIKE 지원은 와일드 카드 매칭을 SQL.
같음 '='단지 평등을위한 것입니다. 반면에, LIKE 지원은 와일드 카드 매칭을 SQL.
그래서, LIKE 당신은 존스로 끝나는 모든 이름을 얻기 위해 '존스 %'같은 이름을 할 수 있습니다. 등으로, 퍼센트 '%'문자가 무엇이든, 길이가 0 이상, 밑줄 문자, '_', 어떤 하나 개의 문자입니다.
-
==============================
12.지금까지 내가 아는 한, 당신이 쓴 두 개의 선택에 차이하지만 시간 비용은 없습니다. 일반적으로 하나 개의 용도는 '문자열'을 의미 %와 함께있다. 나는 확실하지 인터넷 검색없이 그 무엇, '모든 문자'에 대한 LIKE와 함께 사용하는 문자도 있다고 생각.
지금까지 내가 아는 한, 당신이 쓴 두 개의 선택에 차이하지만 시간 비용은 없습니다. 일반적으로 하나 개의 용도는 '문자열'을 의미 %와 함께있다. 나는 확실하지 인터넷 검색없이 그 무엇, '모든 문자'에 대한 LIKE와 함께 사용하는 문자도 있다고 생각.
당신이 개 선택이 가서 LIKE는 정규 표현식 - 정렬의-방식으로 사용되기 때문에하지만, 내가 볼 수있는 유일한 차이는, 다른 실행 시간입니다.
-
==============================
13.마찬가지로 당신을 위해 당신의 케이스에 사용할 수 있습니다, 와일드 카드 사업자와 협력에 당신을 얻을 같은 'davyjon %'모든 결과가 davyjon로 시작하려면 및 정확한 당신이 'davyjones'배치 할 수 있습니다 당신은 또한에 =를 사용할 수를 얻을 수 이 경우
마찬가지로 당신을 위해 당신의 케이스에 사용할 수 있습니다, 와일드 카드 사업자와 협력에 당신을 얻을 같은 'davyjon %'모든 결과가 davyjon로 시작하려면 및 정확한 당신이 'davyjones'배치 할 수 있습니다 당신은 또한에 =를 사용할 수를 얻을 수 이 경우
from https://stackoverflow.com/questions/1504990/whats-the-difference-between-like-and-in-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] .NET에서 인 메모리 데이터베이스 [폐쇄] (0) | 2020.07.01 |
---|---|
[SQL] 명시 적 및 암시 조인 혼합은 "이 테이블에 대한 항목은 ...하지만이 쿼리의이 부분에서 참조 할 수 없습니다"와 함께 실패 (0) | 2020.06.30 |
[SQL] SQL 쿼리에서 기본 값을 반환하는 방법 (0) | 2020.06.30 |
[SQL] 어떻게 열 이름 SqlDataReader.GetValue하여 데이터를 얻을 수 있습니다 (0) | 2020.06.30 |
[SQL] "이 SqlTransaction이 완료되었습니다; 더 이상 사용할 수 없습니다. "... 구성 오류? (0) | 2020.06.30 |