SQL 연산자
LIKE 연산자
열에서 지정된 패턴을 검색하기 위해 절에서 사용
%는 포함 부분이라고 생각하면 된다
_는 대체문자라고 생각하면 된다.
와일드카드
문자는 문자열에서 하나 이상의 문자를 대체하는 데 사용
위의 % 나 _ 이 와일드 카드라고 할 수 있다.
ISNULL , IS NOT NULL 연산자
NULL 값은 0 값이나 공백이 포함된 필드와 다릅니다.
NULL 값이 있는 필드는 레코드 생성 중에 비어 있는 필드입니다.
NULL값 테스트 하기 : IS NULL 또는 IS NOT NULL 연산자를 사용(특수 연산자이다.)
db마다 null을 확인하는 함수는 다르다
mssql - isnull
oracle - NVL
mysql - IFNULL
헷갈리니까 잘 정리해두자.
IN 연산자
IN연산자를 사용하면 WHERE절 에 여러 값을 지정할 수 있습니다.
또는
여러 형태로 응용해서 쓸 수 있다.
BETWEEN A AND B 연산자
BETWEEN연산자 는 주어진 범위 내에서 값을 선택
데이터가 숫자, 날짜, 텍스트 거의 다 올 수 있다.
시작과 끝 값이 포함이다.
범위에 벗어난 데이터를 표시하려면 NOT BETWEEN을 쓴다.
SQL 별칭(Aliases)
테이블 또는 테이블의 열에 임시 이름을 지정하는 데 사용
별명은 종종 열 이름을 더 읽기 쉽게 만드는 데 사용
AS키워드로 생성
별칭에 공백문자, 특수문자 대소문자를 구별하고 싶으면 별칭명에 큰따옴표를 사용한다.
(왠만하면 쓰지말자...)
UNION 연산자
둘 이상의 SELECT 명령문의 결과 집합을 결합하는데 사용한다.
UNION 내의 모든 SELECT 명령문에는 동일한 수의 열이 있어야 합니다.
열의 데이터 유형도 유사해야 합니다
모든 명령문의 열도 SELECT 동일한 순서여야 합니다.
결과 집합의 열 이름은 일반적으로 첫 번째 SELECT 문의 열 이름과 같습니다.
WHERE 절도 사용이 가능하다.
UNION ALL
UNION기본적으로 고유한 값만 선택합니다.
중복 값을 허용하려면 UNION ALL한다.
EXISTS 연산자
하위 쿼리에 레코드가 있는지 테스트하는 데 사용
하나 이상의 레코드를 반환하면 연산자는 TRUE를 반환
ANY연산자
ANY범위의 값 중 하나에 대해 작업이 참인 경우 조건이 참이 됨을 의미한다.
ALL 연산자
ALL범위의 모든 값에 대해 연산이 참인 경우에만 조건이 참이 됨을 의미한다.
SELECT, WHERE및 HAVING문과 함께 사용한다.
결과로 부울 값을 반환한다.
다음 SQL 문은 조건이 모두 TRUE 이기 때문에 모든 제품 이름을 나열합니다.
다음 SQL문은 조건이 모두 TRUE 아니기 때문에 FALSE를 반환한다.