728x90
반응형

2023/10/22 8

[MS-SQL] IN / NOT IN

IN / NOT IN IN : 지정된 값이 하위 쿼리 또는 목록의 모든 값과 일치하는지를 확인합니다. NOT IN : 지정된 값이 하위 쿼리 또는 목록의 모든 값과 일치하지 않는지를 확인합니다. 쿼리문 SELECT * FROM A_TABLE WHERE COL1 IN ('VALUE1', 'VALUE2'); -- COL1이 'VALUE1', 'VALUE2'와 일치하는 값을 출력 SELECT * FROM A_TABLE WHERE COL1 NOT IN ('VALUE1', 'VALUE2'); -- COL1이 'VALUE1', 'VALUE2'와 일치하지 않는 값을 출력 출처 : [MS-SQL] IN / NOT IN (tistory.com)

IT/SQLD 2023.10.22

[SQL] (NOT)EXISTS 와 (NOT)IN 비교하기

최근 작업하고 있는 모듈에서 A 테이블과 B 테이블을 비교하여 B 테이블에 없는 값을 A 테이블에서 가져오는 작업을 진행하고 있다. 처음에는 NOT IN 구문을 사용하여 비교하고 가져오고 있었는데, NOT EXISTS 를 사용하면 더 효과적이라는 말을 듣고, 궁금증에 여기저기 검색해보았다. 결론적으로 말하자면 조회 건수가 많지 않은 쿼리에서는 성능이 비슷하지만, 조회 건수가 급격하게 늘어나면 (NOT)EXISTS 구문이 훨씬 효과적이라는 것이다. 초기 데이터 테이블은 rel1 , rel2 테이블을 생성하였다. rel1 rel2 1. (NOT) IN SELECT * FROM rel1 WHERE number IN (SELECT number FROM rel2); SELECT * FROM rel1 WHERE n..

IT/SQLD 2023.10.22

WHERE : 단일 조건식 지정

WHERE절은 SELECT, UPDATE, DELETE문 등에서 특정 레코드에 대한 조건을 설정할 때 사용되는 구문이다. 단순한 조건식은 하나의 컬럼과 특정 컬럼값을 비교하는 식을 들 수 있다. 예를 들어, WHERE ID = 1라는 조건식은 ID가 1인 레코드를 의미한다. 아래는 다양한 단일 조건식들 몇 가지를 예를 들어 본 것이다. 예제 WHERE : 복수 조건식 지정 여러 개의 조건식을 WHERE절에서 표현할 경우는 조건식들을 AND나 OR로 연결한다. 두 조건이 동시에 만족되어야 한다면 WHERE 식1 AND 식2과 같이, 두 조건중 하나만이라도 만족되면 된다면 WHERE 식1 OR 식2과 같이 표현한다. NOT은 해당 조건의 반대 조건을 의미한다. 즉, 식 'NOT 조건1' 은 조건1이 거짓일 ..

IT/SQLD 2023.10.22

MSSQL DELETE 데이터 삭제하기

MSSQL의 데이터 삭제 기능인 DELETE문에 대한 사용법과 부가적인 팁에 대한 글입니다. DELETE란? 데이터베이스 테이블 내 데이터를 삭제하는 명령어입니다. 가장 기본적인 문법 중 하나입니다. 삭제이기 때문에 신중히 사용해야 합니다. DELETE문 사용법 기본 사용법 --//문법 DELETE 삭제대상 테이블 (WHERE 대상행 조건) --//예제 DELETE TARGET_TABLE --// TARGET_TABLE 모든 데이터 삭제 DELETE TARGET_TALBE WHERE IDX = 10 --// TARGET_TABLE에서 IDX = 10인 ROW 삭제 모든 데이터를 삭제하는 경우는 거의 없기 때문에 DELETE문 역시 WHERE 절을 지원합니다. WHERE절에 조건을 입력해 지우려는 행을 특..

IT/SQLD 2023.10.22

[ANSI SQL] 7. WHERE 절의 조합(AND / OR / NOT / IN)

WHERE 절의 조합 예제 데이터 : User_Table SELECT * FROM User_Table ; --------------------------------------------------------------------------------------------------------------------------- AND 연산자의 사용 입력 - SELECT user_id , user_mobile , user_gender , user_amount , user_addr FROM User_Table WHERE user_gender = 'male' AND user_amount >= 5500 ; 풀이 : User_Table 에서 성별(user_gender)이 남자이고 보유금액(user_amount)가 ..

IT/SQLD 2023.10.22

[SQL] where절: 부정연산자( 같지 않다 !=, ^=, <>, NOT)

같지 않음을 표현하는 연산자 != ^= NOT 컬럼명 = ~보다 크지 않다. NOT 컬럼명 > A와 B 값 사이에 있지 않다. NOT BETWEEN A AND B list 값과 일치하지 않는다. NOT IN (list) NULL값을 갖지 않는다. IS NOT NULL 예시 -- 소속이 K02 인 선수 중에서 포지션이 MF가 아니고, 175 이상 185 이하가 아닌 선수를 찾아라 -- 이렇게 해도 되고 SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키 FROM PLAYER WHERE TEAM_ID = 'K02' AND NOT POSITION = 'MF' AND NOT HEIGHT BETWEEN 175 AND 185 ; -- 이렇게 해도 된다. SE..

IT/SQLD 2023.10.22
728x90
반응형