첫 번째, 같음(같지않음) 연산자 (=, !=)
원래 프로그래밍에선 보통 == 으로 같음 연산자를 사용하지만, SQL 에선 = 하나만 사용함. 같지않음은 != 으로 동일함. WHERE [COLUMN] = something 또는 WHERE [COLUMN] != something 으로 사용하면 된다. 예시는 아래의 캡처를 참고하면 된다.
두 번째, 한글을 비교할 때 (Encoding)
만약 한글을 비교한다면 아래 캡처와 같이, N'한글이름' 이라는 형식으로 문자열 앞에 N을 붙여줘야 한다. 혹은 데이터 베이스의 기본 Encoding을 바꿔준다거나...
세 번째, 비교 연산자 (>, >=, <, <=)
대소의 비교도 기본 프로그래밍 언어와 마찬가지로 쓸 수 있다. >, >=, <, <= 을 그대로 사용하면 된다. 예시로 아래와 같이 10보다 큰 EntitiyID를 불러올 수 있다.
네 번째, 논리 부정 연산자 (!)
코딩할 때 많이 쓰는 !isSuccess 같은 문법은, SQL에서 어떻게 사용될까? 일단 !(value > 10) 과 같은 형식은 작동하지 않아서 영문으로 NOT(value > 10)으로 써줬더니 되더라. 아래 예시 캡처를 보면 4보다 큰 것의 false를 조건으로 걸었더니 4이하의 ID가 결과로 나오는 것을 볼 수 있다. (근데 굳이 쓸 일이 있어보이진 않는다)
다섯 번째, && 또는 || 연산자
&&은 AND로, ||은 OR로 변환하여 쓰면 된다. 아래의 캡처를 참고. 중요한 점은 이 둘의 연산 우선 순위는 AND로 기존 코딩할 때와 마찬가지라고 보면 된다.
여섯 번째, NULL 체크
C#에선 NULL 체크 할 때, if(count == null){} 같은 식으로 널 체크를 해줬다. SQL에서는 이를 IS NULL 또는 IS NOT NULL 이라는 표시로 대신 할 수 있다. 캡처를 참고.
일곱 번째, 문자열 패턴 검색 (LIKE 연산자)
문자열의 특정 패턴을 매칭하여 조건을 걸고 싶다면? LIKE [some value%] LIKE [some value_]와 같은 형식을 사용한다. 여기서 some value의 끝에 붙여진 %는 임의의 문자열로 지정하는 것이고, _는 딱 하나의 문자열을 지정하는 것이다. 예시로 이메일에서 Ken% 라는 문자열을 포함하는 것만 추려내고 싶다면 이렇게 하면 된다.
만약 이메일에 ken이 포함되기만 한 것을 찾는다면, %ken%하면 앞 뒤로 무슨 글자가 오던지간에 ken이 포함된 문자열을 찾아 볼 수 있다. 아래의 결과를 보면 EmailAddress 컬럼에서 ken이 어디에 있든지 잘 찾아낸다.
그 다음에 헷갈렸던게 _ 의 사용법이었는데, _ 는 한 글자를 의미한다. 예를들어 Email 끝에 mymail1, mymail2, mymail3이라는 메일을 찾기 위해서 'mymail_' 이라는 형식을 사용 할 수 있다. 이런 형식으로 검색해 보았다. 'ken_@%'이다.