LIKE
SELECT prod_id 상품코드, prod_name 상품명
FROM prod
WHERE prod_name LIKE '삼%'; -- 삼으로 시작하는 모든걸 찾아라
SELECT prod_id 상품코드, prod_name 상품명
FROM prod
WHERE prod_name LIKE '_성%'; -- 두번째가 성으로 시작하는 모든걸 찾아라
SELECT prod_id 상품코드, prod_name 상품명
FROM prod
WHERE prod_name LIKE '%치'; -- 마지막이 치로 끝나는 모든걸 찾아라
ESCAPE
SELECT lprod_gu 분류코드, lprod_nm 분류명
FROM lprod
WHERE lprod_nm LIKE '%홍\%' ESCAPE '\'; -- 홍%로 끝나는 값을 찾아라
CONCAT / ||
SELECT 'a' || 'bcde'
FROM dual;
SELECT mem_id || 'name is' || mem_name
FROM member;
LTRIM, RTRIM, TRIM
SELECT '<' || TRIM(' AAA ')||'>' TRIM1,
'<'|| TRIM(LEADING 'a' FROM 'aaAaBaAaa') || '>' TRIM2,
'<'|| TRIM('a'FROM 'aaAaBaAaa') || '>' TRIM3
FROM dual;
SUBSTR
형식 : SUBSTR (c,m,[n])
- 문자열의 일부분을 선택
- c문자열의 m위치부터 길이 n만큼의 문자 리턴
- m이 0 또는 1이면 첫 글자를 의미
- m이 음수이면 뒤쪽에서부터 처리
SELECT mem_id, SUBSTR(mem_name, 1, 1)성씨
FROM member;
상품테이블의 상품명의 4째자리부터 2글자가 '칼라'인 상품의 상품코드, 상품명을 검색하시오
(Alias 명은 상품코드, 상품명)
SELECT prod_id 상품코드, prod_name 상품명
FROM prod
WHERE SUBSTR(prod_name,4,2) = '칼라';
REPLACE
거래처 테이블의 거래처명 중 '삼'->'육'으로 치환
SELECT buyer_name, REPLACE(buyer_name, '삼', '육') "삼->육"
FROM buyer;
회원테이블의 회원성명 중 '이'씨 성을 -> '리'씨 성으로 치환 검색
SELECT REPLACE(SUBSTR(mem_name,1,1), '이','리') ||
SUBSTR(mem_name, 2, 2)
FROM member;
문제
상품분류 중에 '전자'가 포함된 상품을 구매한 회원 조회하기
회원아이디, 회원 이름 조회하기
단, 상품명에 삼성전자가 포함된 상품을 구매한 회원
그리고, 회원의 취미가 수영인 회원
SELECT mem_id, mem_name
FROM member
WHERE mem_like = '수영'
AND mem_id in (select cart_member
from cart
where cart_prod in (select prod_id
from prod
where prod_name LIKE '%삼성전자%'
and prod_lgu in (select lprod_gu
from lprod
where lprod_nm Like '%전자%')));
'DB > Oracle' 카테고리의 다른 글
[Oracle] DataBase 백업 방법 (0) | 2024.01.19 |
---|---|
[ORACLE] STUDY_2DAY(ROUND, MOD, SYSDATE, ADD_MONTH, NEXT_DAY, LAST_DAY, EXTRACT, CAST, TO_CHAR, TO_NUMBER, TO_DATE, GROUP, COUNT) (0) | 2022.11.17 |
[ORACLE] STUDY_2DAY(서브 쿼리) (0) | 2022.11.17 |
[ORACLE] STUDY_1DAY(SELECT, FROM, WHERE) (0) | 2022.11.17 |
[ORACLE] 사용자 생성 및 권한 설정 (0) | 2022.11.17 |