본문 바로가기

데이터베이스

(16)
[SQL] 명령 프롬프트에서 sql 실행 sqlplus에 들어가 user-name과 password를 치면 연결된다! 이런식으로 실행결과가 나온다.
[SQL] SELECT 문 실행 순서 1. FROM 2. WHERE 3. GROUP BY 4. HAVING 5. ORDER BY 6. SELECT 컬럼명 함수 작성 순서 : FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY
[SQL] 서브쿼리 개념 서브쿼리(subquery) 란 SQL 문을 실행하는데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에서 사용하는 SELECT 문을 의미한다. 메인 쿼리 : 서브쿼리의 결과 값을 사용하여 기능을 수행하는 영역 SELECT 조회할 열 FROM 조회할 테이블 WHERE 조건식 (SELECT 조회할 열 FROM 조회할 테이블 WHERE 조건식 ) -> 서브 쿼리 예시 코드 이름이 JONES 보다 큰 SAL 값을 가진 사람의 모든 정보를 가져온다. SELECT * FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME = 'JONES'); 서브쿼리의 특징 1. 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 괄호로 묶어서 사용한다. 2. 특수한 경우를 제외한 대..
[SQL] ROLLUP, CUBE 함수 ROOLUP, CUBE, GROUPING SETS는 GROUP BY 절에 지정하는 특수함수이다. 형식 SELECT [조회할 열 이름], [열2 이름], ... FROM [조회할 테이블 이름] WHERE [조회할 행을 선별하는 조건식] GROUP BY ROLLUP / CUBE [그룹화 열 지정(여러 개 지정 가능)]; 그룹화 열 지정을 통해 그룹화 데이터의 합계를 함께 출력할 수 있다. 1. ROLLUP 함수 예시 코드 SELECT DEPTNO, JOB, COUNT(*), MAX(SAL), SUM(SAL), AVG(SAL) FROM EMP GROUP BY ROLLUP(DEPTNO, JOB); ROLLUP 함수는 소그룹부터 대그룹의 순서로 각 그룹별 결과를 출력하고 마지막에 총 데이터의 결과를 출력한다. 2..
[SQL] DML (Data Manipulation Language) 데이터 조작 언어 1. DML (Data Manipulation Language) - 데이터 조작 언어 ( 조회, 등록, 수정, 삭제, 검색 ) - INSERT(새로운 행 삽입) > INSERT INTO 테이블 명 [(열 이름1, 열 이름2, ...)] VALUES (값1, 값2) - UPDATE (행의 내용 수정) > UPDATE 테이블명 SET 열이름 1 = 값 1, 열 이름2 = 값 2... [ WHERE 조건식 ]; - DELETE (행을 삭제) > DELETE FROM 테이블명 [WHERE 조건식]; - SELECT (행을 조회) > SELECT 열(컬럼)명1, 열(컬럼)명2 FROM 테이블
[SQL] DECODE 함수, CASE 문 DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3..........) SELECT EMPNO, ENAME, JOB, SAL, DECODE (JOB, 'MANAGER', SAL*1.1, 'SALESMAN', SAL*1.05, 'ANALYST', SAL, SAL *1.03) AS UPSAL FROM EMP;
[SQL] 현재 시간 형식 지정해서 출력 날짜 형식 설정 변경 SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS 현재날짜시간 FROM dual SELECT TO_CHAR(SYSDATE, 'YYYY"년" MM"월" DD"일"') AS 현재날짜시간 FROM dual;
[SQL] 동명 동물 수 찾기 (GROUP BY, HAVING 사용) ● 문제 https://school.programmers.co.kr/learn/courses/30/lessons/59041 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ● 풀이 SELECT [GROUP BY 절에 지정된 컬럼1] [GROUP BY별로 집계할 값] FROM [테이블 명] GROUP BY [ 그룹으로 묶을 컬럼 값 ] HAVING [조건 추가] ; SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >1 ORDER BY NAME;