728x90
반응형

Not 6

[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

[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

[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.06.26

[DATABASE/SQL] WHERE절에 NOT 사용하기 , 특정 값을 제외한 조회

예제 테이블) with school as ( select '1' as 학년, '쉬시' as 이름, 70 as 점수 from dual union all select '3','용띠' ,54 union all select '3','이웃집청소' ,72 union all select '1','붜워' ,10 union all select '2','윤띵' ,50 union all select '3','츄밍뜨' ,60 union all select '2','BackSengWon' , 15 union all select '2','동탄' ,90 union all select '3','듀탄퐁', 0 ) select * from school; 문제) NOT을 이용하여 학년이 1학년이 아닌 학생들의 레코드를 조회 하세요 wit..

IT/SQLD 2023.05.22
728x90
반응형