티스토리 뷰

교안

02_DML(SELECT).pdf
0.98MB
03_함수.pdf
2.55MB

 

<DML-SELECT>

사진 안에 내용들은 다 외워야함.

- 문자열 표현은 ' '(홑따옴표)로 감싸주면 됨.
- || 는 문자열을 붙여줌



-WHERE salary BETWEEN 10000 AND 12000;
 between 은 이상 and 이하 를 나타내 주는것.
 숫자의 범위를 지정해서 조회 할 때 좋음.

--between~and~
select * from employees where salary between 15000 and 20000;


-IN 연산자 굉장히 중요. 많이 사용됨.

--in
select * from employees where manager_id in (101, 102, 103, 104);
select first_name, last_name, job_id, department_id FROM employees WHERE job_id IN('IT_PROG', 'FI_MGR', 'AD_VP');

 


-LIKE 연산자 더 중요. ★★★. 검색에 사용.
 데이터 중에서 포함되는 내용이 있으면 다 찾아줌.
 %(percent)는 문자가 없거나 또는 하나 이상을 나타냅니다.
 _(under score)는 하나의 문자를 나타냅니다..
_는  정확한 위치를 나타내줌.

--like (검색에활용)
select * FROM employees where job_id like 'IT%';
select * FROM employees WHERE job_id LIKE '%PROG';
SELECT * FROM employees where job_id LIKE '%IT%'; -- IT가 포함된

select * from employees where hire_date like '03%'; --03으로 시작하는
select * from employees where hire_date like '%15'; --15로 끝나는
select * from employees where hire_date like '%05%'; --05가 포함된
select * from employees where hire_date like '___05%';--05월 (언더바는 위치)

 

 


-null을 조회하는 특별한 구문이 있음.
IS NULL 연산자로 Null 값을 테스트,
IS NOT NULL을 이용해서 NULL이 아닌 컬럼을 검색.

--null 데이터 조회
select * from employees where commission_pct is null;
select * from employees where commission_pct is not null;


-and , or 논리 연산자
 and 는 앞뒤가 모두 참인 행.
 or 는 앞뒤 중 하나라도 만족한 행이 나옴.
 DB에서도 역시 and 가 or 보다 연산 우선순위가 빠름. (언어프로그램에서 와 같음)
 이를 해결하려면 ()소괄호로 묶어주면 됨.

--and, or
select * from employees where job_id = 'IT_PROG' or salary >= 5000;
select * from employees where job_id = 'IT_PROG' and salary >= 5000;
-- and가 or보다 우선순위가 빠름
select * from employees where (job_id = 'IT_PROG' or job_id = 'FI_MGR') and salary >= 6000;


-ORDER BY 절
 ORDER BY 절은 SELECT 문장의 가장 뒤에 옵니다.
 ASC : 오름차순으로 정렬합니다. 기본값입니다.
 DESC : 내림차순으로 정렬합니다.
 ORDER BY 는 모든 컬럼에 다 적용할 수 있음.

--데이터 정렬 ( 구문의 마지막 )
select * from employees ORDER BY hire_date asc;
select * from employees ORDER BY hire_date desc;
--jo_id = it_prog인 사람들 이름 desc
select * from employees where job_id = 'IT_PROG' ORDER BY first_name desc;
--manager_id 가 120 이상인 사람들 중 salary 내림차순
select * from employees where manager_id >= 120 ORDER BY salary desc;
--여러컬럼 정렬
select * from employees order by department_id desc, manager_id asc;
--엘리어스명으로 정렬, 나중에 구문이 복잡해지면 안되는 경우도있음.
select employee_id, salary*12 as 연봉 from employees order by 연봉 desc;


<함수>
-DB 종류마다 동일한 기능에대해서 쓰이는 함수가 다를 수 있기 때문에 
 다 외우지 않고 필요할 때 찾아서 사용하면 됨. 중요한 것만 기억해두면 됨.

<기억할 것>
-데이터 베이스 디벨로퍼 실행 = Ctrl + Enter
-AS는 오라클 한정으로 생략가능. 하지만 웬만하면 AS를 꼭 달아서 사용하기.
-공백을 사용하는거 별로 좋지 않음.
-'''s salary is $'  여기서  '' 문자열안에 첫 ' 옆에 ''의미는 '를 사용하고 싶으면
 '사용하겠다고 ' 앞에 ' 하나 더 붙여서 ''이렇게 표현해줌. 그럼 문자열 내에서 '사용됨.
-ROWID 어떤 파일에 어디 저장되는지 위치(주소)를 알려주는 키워드. 이정도만 알고 몰라도됨.
 반면에 ROWNUM은 중요함. 특히 오라클은 쓴다면 꼭 쓰게됨.
-select 절은 다 외워야함.
-숫자같은 경우는 '' 안 붙여도 됨.
-엘리어스명으로 정렬, 나중에 구문이 복잡해지면 안되는 경우도있음. 그래서 되면 된다고 보고 안되면 안되는구나 하고 보면됨.
- ctrl + / 누르면 주석 처리됨.
★데이터 베이스에서는 첫 글자가 1 !
-from dual; 여기서 dual 은 그냥 연습 테이블임.

- as 로 명해주는 별칭은 앨리어스(alias) 라고 부름.

 

새 창 열기

 

댓글