※lsnrctl start
※alias는 큰 따옴표 그 외(2가지 경우 외)에는 작은 따옴표사용
※컬럼 크기 조정 : col 컬럼명 format a크기
조건문 where
select 컬럼명 from table where 조건문;
select column, where row
where 컬럼명 = 값(숫자, '문자', 날짜');
즉, Oracle에서는 대,소문자를 구분한다는 특징이 있다. 입력되어 있는 자료의 대,소문자를 정확히 입력해야 원하는 정보를 찾을 수 있다.(MySQL과 차이가 있다. 단, 해결해줄 수 있는 방법이 있다. 함수를 이용하면 된다.)
위의 오류는hire_date는 date, '2005-08-13'은 문자로 인식한다.
하지만 '2005-08-13'이는 날짜 형식이 맞다. 왜 그런것일까?
입력된 날짜가 다르기 때문이다. '년-월-일','월-일-년','일-월-년' 등 다양한 방법으로 날짜를 작성할 수 있다.
날짜를 작성할 때 마음대로 작성하면 안된다.
날짜 형식으로 약속되어 있는 것은 'dd-mon(월 영문3)-rr(년도 2자리)'이다.(오라클이 영문으로 설치되어있다면)
where조건절에 =이외에 >,>=,<,<=,<>,!= (단일행비교연산자) 등을 사용할 수 있다.
추가적인 비교연산자 종류로는 between A and B, in, like, is null가 있다.
between A and B : A(작은값)이상 B(큰값)이하, 범위 검색할 수 있는 비교 연산. 모든 데이터 타입에서 사용 가능
B자리에 최근 날짜, A날짜에 B날짜보다 과거 날짜가 와야함.
가나다, ABC 순서
in : 다중행연산자. =과 or의 성격을 가진다. 우변이 여러 개 일때 사용.
select employee_id, last_name, salary, manager_id from employees
where manager_id = 100 or manager_id = 101 or manager_id = 201; 같다.
그렇다면 무엇을 사용해야할까? 성능적인 측면에서 접근, 방문하는 수가 작을 수록 좋다.
즉, in을 사용했을 때는 컬럼을 1번만 접근하면 된다. 하지만 =,or을 사용했을 경우 3번 접근해야하므로 in을 사용하는 것이 좋다. 또한 가독성 in이 우수하다.
like : 패턴일치여부를 알 수 있는 연산자
% : 0개 이상의 문자가 올 수 있다.
ex1) a로 시작되는 문자열 : 'a%' → a(가능), abc(가능), aa(가능)
ex2) a가 포함된 문자열 : '%a%' → a(가능), aaa(가능), baa(가능), bay(가능), ab(가능), bba(가능)
ex3) a로 끝나는 문자열 : '%a' → a(가능), ba(가능)
_ : 반드시 _개수만큼 문자가 와야한다.
ex1) 두번째 문자가 a인 문자열 : '_a' 또는 '_a%'
ex2) 끝에서 세번째 문자가 a인 문자열 : '%a__'
두 번째 문자가 o인 사원이름 출력
is null : 값이 null인지 비교. null이면 출력
and, or : 여러 조건문 작성할 수 있는 논리 연산자. 우선순위(and>or)
※
between A and B ↔ not between A and B(A미만 B초과)
in ↔ not in(!=, and)
like ↔ not like
is null ↔ is not null
정렬
order by(정렬) 항상 쿼리구문의 마지막에 위치한다.
select 컬럼명 from table [where 조건문] order by 컬럼명/표현식/alias asc/desc;
asc 오름차순(小→大), desc 내림차순(大→小)
select 나열된 순서대로 1,2,3,...이다.
다중 컬럼을 기준으로 정렬할 때, 왼쪽부터 순차적으로 정렬되기 때문에 반드시 순서를 고려해야한다.
즉, 우선순위가 높은 순서대로 나열
퀴즈2
퀴즈 1
연습문제
'KDT > DB' 카테고리의 다른 글
240108 DB - 단일 행 함수 2 (0) | 2024.01.08 |
---|---|
240105 DB - 단일 행 함수 1 (0) | 2024.01.05 |
231229 DB - select 구문을 사용한 데이터 검색 (0) | 2023.12.29 |
231227 DB - 데이터정의어 4, 오라클 시작 (0) | 2023.12.27 |
231222 DB - 데이터정의어 3 (0) | 2023.12.22 |