working area -- staging area, Index -- local 저장소 -- remote 저장소
(작업공간, 폴더)--.git이라는 곳에서 관리-- .git -- github.com
add commit push
pull
git 특징 : 분산저장소
SQL 왜 배워야할까 dbms와 통신할수있는 유일한 수단
SELECT
FROM 테이블명, || 테이블명 || INLINE-VIEW || VIEW [별칭]
WHERE
IN 연산자가 OR로 치환 -> NOT IN은 AND로 치환 그래서 NULL데이터가 있는 사람은
AND때문에 NULL이 전부 FALSE
NOT IN 연산자에서 NULL 이 있으면 데이터가 안나옴
페이징처리
1. 정렬기준 (ex) 게시판 : 게시글 작성 순서 - 최신글이 가장 위로 )
2. page당 사이즈
//EX) 논리연산 (AND, OR 실습 where 11 )
emp 테이블에서 job이 SALESMAN이거나 입사일자가 1981년 6월 1일 이후인 직원의정보를 다음과 같이 조회하세요
SELECT *
FROM emp
WHERE job = 'SALESMAN'
OR hiredate >= TO_DATE ( ' 1981/06/01' , 'YYYY/MM/DD' )
// EX) 논리연산 (AND , OR 실습 where 12 )
emp 테이블에서 job이 SALESMAN이거나 사원번호가 78로 시작하는 직원의 정보를 다음과
같이 조회하세요 .
SELECT *
FROM emp
WHERE job = 'SALESMAN'
OR empno LIKE '78%'
//EX) 논리연산 (AND, OR 실습 WHERE 13 )
emp 테이블에서 job이 SALESMAN 이거나 사원번호가 78로 시작하는 직원의 정보를 다음과같이 조회 하세요 ( LIKE 연산자를 사용하지 마세요 )
*DESC emp;
이게 뭐냐면 데이터 안에 자릿수를 나타내줌
저기보면 EMPNO가 가로 4개의 숫자로 되어 있기 때문에
78로 시작하고 4자리라는 것을 알 수 있다.
SELECT*
FROM emp
WHERE job = 'SALESMAN'
OR (empno BETWEEN 78 AND 78
OR empno BETWEEN 780 AND 789
OR empno BETWEEN 7800 AND 7899 )
78 78 사이 = 78
780 과 789 사이 78 (1~9)
7800 과 7899 사이 78(00 ~ 99)
-> 78로 시작하는 모든 숫자들을 고를 수 있다.
EX) 논리연산 (AND, OR 실습 WHERE 14)
SELECT *
FROM emp
WHERE (hiredate >= TO_DATE ('1981/06/01' , 'YYYY/MM/DD')
AND empno LIKE '78%' )
OR job = 'SALESMAN' ;
ROWNUM : 1부터 읽어야 한다.
SELECT 절이 ORDER BY 보다 먼저 실행된다.
FROM -> WHERE -> SELECT -> ORDER BY
데이터 정렬 (ORDER BY )
ASC : 오름차순(기본)
DESC : 내림차순
ORDER BY { 정렬기준 : column OR alias OR column 번호 즉 select 옆에 쓰여진 순서
select emp, * 이면 emp는 첫번째 *은 두번째가 된다 . )
ROWNUM
ROWNUM 유의점
-1부터 읽어야 한다.
-SELECT 절이 ORDER BY 절보다 먼저 실행된다.
=> (FROM -> WHERE -> SELECT -> ORDER BY )
따라서 ORDER BY 절을 반영한 뒤에 하려면 inline view를 사용해야 한다.
SELECT ROWNUM, a.*
FROM
(SELECT empno, ename
FROM emp
ORDER BY SAL ) a;
EX) 가상칼럼 ROWNUM 실습 ROW_1
SELECT ROWNUM rn, empno, ename
FROM emp
WHERE ROWNUM <= 10 ;
EX) 가상칼럼 ROWNUM 실습 ROW_2
선생님 :
SELECT a.*
FROM
(SELECT ROWNUM rn, empno, ename
FROM emp ) a
WHERE rn >= 11 AND rn <=14;
나
SELECT a.*
FROM
(SELECT ROWNUM rn, empno, ename
FROM emp ) a
WHERE rn BETWEEN 11 AND 14;
데이터 정렬 (가상컬럼 rownum 실습 row3)
emp 테이블의 사원 정보를 이름컬럼으로 오름차순 적용 했을 때의 11~14번째 행을 다음과 같이 조회하는 쿼리를 작성해보세요
SELECT *
FROM
(SELECT ROWNUM rn, a.*
FROM
(SELECT empno, ename
FROM emp
ORDER BY ename ASC ) a )
WHERE rn BETWEEN 11 AND 14
----> 여기에 a를 안써 도 되 !!!!!!!!!
(둘이 같은거 위에거랑 같은거 )
SELECT *
FROM
(SELECT ROWNUM rn, empno, ename
FROM
(SELECT empno, ename
FROM emp
ORDER BY ename ASC ))
WHERE rn BETWEEN 11 AND 20;
함수부터 하기 09.07. 8시 40분
CONCAT ( 문자열 연결 함수 )
INSTR 안에 내가 원하는 문자가 있는지 검사할때
LPAD/RPAD 왼쪽에 채워넣다/ 오른쪽에 채워넣다
TRIM 공백을 제거해준다
REPLACE 문자열에 특정부분을 다른 문자열로 바꿔줌
함수 정리
SELECT *
FROM dual;
ORACLE 함수 분류
*** 1. SELECT ROW FUNCTION ; 단일 행을 작업의 기준으로, 결과도 한건 반환
2. MULTI ROW FUNCTION ; 여러행을 작업의 기준으로 하나의 행을 결과로 반환
dual 테이블
1. sys 계정에 존재하는 누구나 사용할 수 있는 테이블
2. 테이블에는 하나의 컬럼, dummy 존재 값은 x
3. 하나의 행만 존재 한다.
**** single
SELECT dummy
FROM dual;
SELECT empno, ename, LENGTH('hello
FROM emp;
댓글
댓글 쓰기