SQL-ORACLE/WHERE

날짜데이터로 값을 조회하는 방법을 배우다. 1. 날짜데이터 → 문자데이터 -- 날짜데이터로 조회하는 방법 -- TO_CHAR 을 활용한 방법 -- 문자데이터로 만들어서 비교 (편법) SELECT * FROM TB_PRD WHERE TO_CHAR(REG_DT, 'YYYYMMDD') = '20230501' OR TO_CHAR(REG_DT, 'YYYYMMDD') = '20230502'; 출력하고싶은 것은 2023년 5월 1일 ~ 2023년 5월 2일 까지의 것들이다. 그것들의 REG_DT를 문자열로 형변환 한후 포매팅으로 YYYYMMDD로 연월일만 꺼내준다. 그 이유는 꺼낼 조건이 연월일만 있기 때문이다. 그것들의 연월일이 20230501 또는 20230502이면 조건에 충족한다. 2. 문자데이터 → 날짜데이..
값에 포함된 특정 단어가 포함된 값만 출력할 때 사용하는 LIKE 연산자를 배우다. -- LIKE 연산 - 검색할 때 WHERE 컬럼 LIKE ''; -- % : 여러개 , _ : 언더바 1개당 1개의 문자 -- '수%' : '수'로 시작하는 문자를 출력 -- '%수%' : '수'가 포함된 문자를 출력 (주로 사용) -- '%수' : '수'로 끝나는 문자를 출력 SELECT * FROM TB_PRD WHERE PRD_DETAIL LIKE '%적합한%'; LIKE 연산자는 그 컬럼의 값들 중에 특정 단어가 포함 된 값만 출력하고 싶을 때 사용한다. %는 여러 문자, _(언더바)는 언더바의 개수만큼을 의미한다. 예를들어 티_ _ _ 는 '티'라는 문자 뒤에 3개의 문자가 오는 값만 출력한다.
IN과 BEWEEN에 대해 배우다. IN -- IN 연산자. OR 연산을 줄여줌 / IN안의 NULL은 무시함, NOT IN안에 NULL이 들어가면 아무것도 출력X -- NOT은 연산자를 반대로만듦 (OR -> AND) 따라서 NOT IN은 AND가 중첩되서 아무것도 출력되지않음 SELECT * FROM TB_PRD WHERE PRD_TYPE IN ('가전', '욕실용품', '스마트폰'); OR을 1번만 사용하게 된다면 그냥 OR을 사용하면 되지만 2개 이상부터는 OR을 여러 번 붙여서 사용하기 번거롭다. 그 단점을 보완해 주기 위해 IN 연산자를 사용하면 된다. 쉽게 IN 안에 OR에 사용될 값들을 적으면 된다. BETWEEN -- BETWEEN A AND B (A = 21 AND SCORE
WHERE문에서 사용가능한 부정연산인 NOT, !을 배우다. ! SELECT * FROM TB_CUST_ADDR WHERE ADDR_DVCD != '회사'; 주소의 구분코드가 '회사'가 아닌 것들만 출력하게 ADDR_DVCD != '회사'를 사용했다. NOT / IS NULL, IS NOT NULL -- NULL 데이터를 출력하는 방법 IS NULL, IS NOT NULL SELECT * FROM TB_CUST WHERE BIRTH_DY IS NULL; SELECT * FROM TB_CUST WHERE BIRTH_DY IS NOT NULL; IS NULL 은 그 컬럼의 값 중에서 NULL 값인 행만을 출력한다. NOT을 사용해서 IS NOT NULL로 NULL값이 아닌 값들이 출력되게 할 수 있다. 이런..
조건을 적용하는 WHERE을 배우다. SELECT * FROM TB_CUST WHERE CUST_NAME = '고객002'; WHERE에서 CUST_NAEM이 고객002인 사람만 출력하게 했으니 결과가 저렇게 나온다. AND SELECT * FROM TB_CUST WHERE SCORE = 20000; 그냥 AND, 두 조건에 모두 참인 결과 값만 출력. OR SELECT * FROM TB_CUST WHERE SCORE = 0 OR MONEY = 10000; 그냥 OR, 두 조건중 하나라도 참이면 그 결과 값 출력. AND, OR 혼 SELECT * FROM TB_PRD WHERE (PRD_AMT = 20000 OR PRD_TYPE = '가전') AND PRD_TYPE ='주방용품'; -- 우선 AND >..
이뮨01
'SQL-ORACLE/WHERE' 카테고리의 글 목록