-- dual table : 단순 연산 결과 반환 받고자 할 때, sysdate(시스템의 오늘 날짜), user함수의 결과를 반환 받고자 할 때, from절에 사용하는 테이블
select sysdate from dual; --dual : SYS소유의 테이블인데, public으로 select 권한을 받음
-- * = all
desc dual
select * from dual;
-- ' ' ' : ' (싱글쿼테이션) 그대로 출력 -- Q : 대체 인용 연산자 - 시작과 끝이 동일한 구분자 사용
select '''A''' from dual;
-- 가운데 ' 을 출력하기 위해 ''을 양쪽을 감쌈
select q'[ ' A ' ]' from dual;
-- Q의 구분자 = [] >> '의 양쪽으로 공백 표시
-- 가장 끝의 '' = | ' A ' 라는 문자열 표시
select q'# 'A' #' from dual;
-- Q의 구분자 = ##
-- ' 의 바깥쪽 공백을 포함해서 출력
Q>> 테이블 생성
create table test (name varchar2(10));
insert into test values ('ABCDE');
insert into test values ('A___E');
insert into test values ('A%%%E');
select * from test;
-- [NOT] LIKE '검색방법' [ESCAPE]: 검색방법의 동일한 문자를 찾은 후 반환
Q1 > %가 포함된 이름 검색
select * from test
where name like '%\%%' escape '\';
-- 양쪽 %% : 값에서 0 이상의 문자가 존재한다는 걸 표시\
-- escape '\' : 이스케이프 문자 = \ 라는 걸 명시
-- 가운데 \% : % 문자 그 자체를 의미 >> 이걸(%) 포함하는 문자를 검색하라
Q2 > _이 포함된 이름 검색
select * from test
where name like '%\_%' escape '\';