본문 바로가기

Oracle Database /SQL

(32)
SQL SUB QUERY -- SUB QUERY -- QUERY문 안에 QUERY문이다 -- 한개의 행에서 결과 값이 반환되는 커리문 -- SELECT 단일행 단위컬럼 SELECT NAME FROM EMP -- FROM 단일행 단일, 다중컬럼 SELECT NAME EMPNO FROM EMP -- WHERE 단일행 단일, 다중컬럼 SELECT NAME EMPNO FROM EMP -- SELECT 방식 SELECT EMPLOYEE_ID, FIRST_NAME, SALARY, (SELECT SUM(SALARY) FROM EMPLOYEES), (SELECT COUNT(*) FROM EMPLOYEES) FROM EMPLOYEES; -- FROM SELECT EMPLOYEE_ID,FIRST_NAME,FIRST_NAME,SALARY FROM ..
SQL 쿼리문 JOIN -- JOIN 두개 이상의 테이블을 연결해 데이터를 검색하는 방법이다. 보통 둘이상의 행(ROW)들의 공통된 값 Primary key, Foreign key 값을 사용해서 join을 한다, 두개 이상의 테이블을 select 문장 안에서 조인 하려면 적어도 하나의 컴럼이 두 테이블에서 공유 되어 있어야 한다. inner Join ***** cross Join * outer Join left outer *** right outer *** self Join ***** SQL : Orcle, Ansi Sql -- inner Join -- -- 겹치는 부분만 조인 -- Ansi SQL SELECT EMPLOYEE_ID,FIRST_NAME,SALARY, E.DEPARTMENT_ID, D.DEPARTMENT_ID,D..
SQL 쿼리문 기본 -- DUAL : 가상테이블 SELECT 1 FROM DUAL; -- 문자 함수 -- CHR(N) : ASCII 값을 문자로 변환한다 SELECT CHR(65) FROM DUAL; SELECT CHR(112) FROM DUAL; SELECT '내 점수는' || CHR(97) || '입니다' FROM DUAL; -- LPAD(RPAD) : 나머지 빈칸을 특정 문자로 채운다 SELECT LPAD('BBB',10) FROM DUAL; SELECT LPAD('BBB',10, '-') FROM DUAL; SELECT RPAD('BBB',10, '-') FROM DUAL; -- INSTR : indexOf SELECT INSTR('A1234567A','A') FROM DUAL; -- 숫자 이후에 나오는 위치 SEL..
SQL 쿼리 그룹 -- 중복행의 제거 SELECT DISTINCT JOB_ID FROM EMPLOYEES; -- GROUP BY -- 같은 그룹으로 묶어줌 SELECT JOB_ID FROM EMPLOYEES GROUP BY JOB_ID; SELECT DEPARTMENT_ID FROM EMPLOYEES GROUP BY DEPARTMENT_ID ORDER BY DEPARTMENT_ID; -- HAVING(GROUP BY절과 같이 사용, 단독으로는 사용불가) -- GROUP BY의 조건절 SELECT DEPARTMENT_ID,SUM(SALARY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID; SELECT JOB_ID,SUM(SALARY) FROM EMPLOYEES GROUP BY JOB_ID HAVING..
SQL 쿼리 정렬 -- 기본 순서 /* SELECT 컬럼 FROM 테이블 OR SUB QUERY WHERE 조건 GROUP BY HAVING ORDER BY 정렬 (오름,내림) */ -- HR /* ORDER BY == 정렬(SORT) 오름/내림 */ -- 오름 SELECT FIRST_NAME,SALARY FROM EMPLOYEES ORDER BY SALARY; -- 내림 SELECT FIRST_NAME,SALARY FROM EMPLOYEES ORDER BY SALARY DESC; -- IT_PROG 중 월급 내림차순 SELECT FIRST_NAME, JOB_ID , SALARY FROM EMPLOYEES WHERE JOB_ID = 'IT_PROG' ORDER BY SALARY DESC; -- MANAGER_ID 가 NU..
SQL명령어 -- 테이블의 모든 데이터를 표현 SELECT * FROM EMP; SELECT * FROM EMPLOYEES; -- 테이블의 이름을 기록한 테이블 명세 SELECT * FROM tab; -- 테이블에서 원하는 열(컬럼)만 표현 SELECT EMPNO, ename, SAL FROM EMP; SELECT ename FROM emp; -- dual : 가상테이블 SELECT sysdate FROM dual; SELECT 10+2 FROM dual; SELECT 'hello' FROM dual; SELECT round(10.5) FROM dual; SELECT ename, sal, sal + 300 FROM emp; SELECT sal, sal * 12 FROM emp; -- alias int ar[] = a..
Oracle Database 사용방법 및 주석 -- DUAL : 가상테이블SELECT 1 FROM DUAL; -- 문자 함수-- CHR(N) : ASCII 값을 문자로 변환SELECT CHR(65) FROM DUAL;SELECT CHR(112) FROM DUAL;SELECT '내 점수는 ' || CHR(97) || '입니다'FROM DUAL; -- LPAD(RPAD) : 나머지 빈칸을 특정 문자로 채운다SELECT LPAD('BBB', 10) FROM DUAL;SELECT LPAD('BBB', 10, '-') FROM DUAL; SELECT RPAD('BBB', 10) FROM DUAL;SELECT RPAD('BBB', 10, '-') FROM DUAL; -- INSTR : indexOfSELECT INSTR('A12345657A', 'A') FRO..
Oracle Database (SELECT - WHERE)문 -- WHERE 절 == IF문/* 표현식 비교 연산자( = != >= = 9000; SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEESWHERE FIRST_NAME >= 'Shanta'; SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEESWHERE FIRST_NAME >= 'a'; SELECT FIRST_NAME, LAST_NAME, SALARYFROM EMPLOYEESWHERE MANAGER_ID = ''; SELECT FIRST_NAME, LAST_NAME, MANAGER_ID, SALARYFROM EMPLOYEESWHERE MANAGER_ID IS NULL; -- = NULL != '' SELECT FIRST..