본문 바로가기

반응형

Oracle

[프로그래머스] 인기있는 아이스크림 문제 상반기에 판매된 아이스크림의 맛을 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요. 분명 쉬운 문제라 했는데 보자마자 어렵게 느껴졌다. 쪼개서 생각했다. 1. 상반기 아이스크림 맛을 총주문량을 기준으로 내림차순 정렬하고 2. 총주문량이 같은 경우 출하 번호를 기준으로 오름차순 정렬 1번 문장만 쿼리문으로 짜면 쉽다. 문제는 2번이다. 총주문량이 같은 경우를 어떻게 조건으로 넣지? dense_rank() 함수를 써야할 것 같아서 썼는데 오답이다. order by를 2번 한다? 중요한 것은 문제 예시에 나와있는 테이블이 아니었다. 내가 어떤 테이블을 가지고 쿼리문을 실행하는지 파악하는 것이 먼저다. SELECT * FROM.. 더보기
[국민취업지원제도 일경험프로그램 15일차] 게시판 페이징 처리... 15일 차 특이사항 1. 새로운 과제 : 게시판 페이징, 검색 기능 구현 2. 9월에 project에서 vue.js 교육 예정. 일주일 정도 다른 분이 온다. 게시판 페이징 처리 1. pageresolver.java 페이지네이션(pageresolver)을 만들고 있다. 긴 목록을 페이지 단위로 나누어 표시하고, 페이지 이동 기능을 제공하는 기능을 가지고 있다. 이 클래스는 게시판과 같이 긴 목록을 페이지별로 나누어 보여주기 위해 만들어진다. private int totalCnt;//게시물 총 갯수 private int pageSize;//한 페이지당 게시물 갯수 private final int NAV_SIZE=10;//page navigation size private int totalPage;//전체 .. 더보기
[SQLD] SQLD 개발자 자격시험(총 50문항) 대비 기출문제 (1) SQLD 시험 1) 몇 문제가 나올까? 2) 응시자격과 합격기준은? 1. SQLD시험은 50문제가 출제된다. 40문제는 실습, 10문제는 이론 부분에서 나온다. 2. 합격기준은 총점 60점 이상이다. 과목별로 40% 미만의 점수를 받으면 과락이다. 3. 강의를 들으면서 동시에 기출문제를 푸는 것이 성적 올리는데 효과적이다. 기출문제(실습) 3문제 1. SQL 구문의 실행순서(연산순서)를 아는가? 이 문제는 자주나온다. 중요하기 때문이다. FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY 2. DDL, DCL, TCL이 무엇인지 아는가? DDL : CREATE, ALTER, DROP, RENAME (표의 생성, 구조의 변경 명령어) DCL : GRANT REVO.. 더보기
[SQLD] GROUP BY. 개체수준에서 그룹수준으로 데이터 묶기 GROUP BY 1. GROUP BY 절은 데이터들을 원하는 그룹으로 나눌 수 있다. 2. 개체 수준의 데이터를 그룹 수준으로 만들 수 있다. 3. 예제 - EMP 테이블에서 부서번호, 사원수를 조회하고 부서번호 별로 묶어라. SELECT DEPTNO, COUNT(EMPNO) FROM EMP GROUP BY DEPTNO; 집계함수는 WHERE 절에 사용불가 1. SQL 연산 순서 : FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY 2. 집계함수는 WHERE 절에 올 수 없다. GROUP BY 절보다 WHERE절이 먼저 수행되기 때문이다. 3. 예제 -- 각 부서별 사원들의 급여 평균을 구하라 SELECT DEPTNO, AVG(SAL) FROM EMP GROU.. 더보기
[SQLD] 단일행 날짜 함수, 변환형 함수 SYSDATE 1. SELECT SYSDATE FROM DUAL; 현재 날짜 구하기 2. SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; YEAR만 구하기, MONTH, DAY도 가능함. 3. 예제 코드 SELECT SYSDATE FROM DUAL; SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; SELECT SYSDATE +12 FROM DUAL; 변환형 함수(매우 중요) 1. 문자열 데이터, 숫자형 데이터, 날짜 데이터가 서로 데이터 유형을 변경할 수 있다. 2. 묵시적 형변환은 오라클이 자동으로 형변환을 시켜주는 것을 의미함. 3. 예시 : SELECT 10+'10' FROM DUAL; 숫자에 문자열을 더했는데 알아서 문자를 숫자로 바.. 더보기
[SQLD] 문자형 함수 단일행 문자형 함수 1. 문자열 데이터를 입력했을 때, 변형된 문자열 데이터가 출력되는 함수 2. LOWER, UPPER, INITCAP이 있음. 대문자를 소문자로, 소문자를 대문자로, 첫 글자를 대문자로, 나머지를 소문자로 3. 문자를 입력할 때는 ' '를 붙여줘야한다. 4. 예제 SELECT LOWER('CDEFG') FROM DUAL; SELECT UPPER('ackdfjkd') FROM DUAL; SELECT INITCAP('accbBDEFASDFSADFSDF') FROM DUAL; SELECT LOWER(ENAME) FROM EMP; SELECT UPPER(ENAME) FROM EMP; SELECT 'aBCDEF', INITCAP('aBCDEF') FROM DUAL; SELECT ENAME, I.. 더보기
[SQLD] 함수(Function) 함수(Funtion) 함수란 특정한 값(들)을 함수의 괄호'()'안에 입력하면 한 개의 결과가 출력되는 것이다. 괄호 안에 들어가는 것을 인자(argument)라 한다. 인자는 단일 또는 복수개가 가능하다. 단일 행 함수 1:1 대응. 단일 행 입력했을 때, 하나의 행이 결과로 나온다. DUAL 테이블 1. 오라클 설치시 자동적으로 생성되는 오라클의 표준 테이블 2. 오직 하나의 행(ROW)에 하나의 컬럼만 가지고 있는 DUMMY 테이블 3. 숫자연산, 날짜연산을 위해 쓰이는 것이 일반적이다. ex: SELECT 10+15 FROM DUAL; SELECT 15+10 FROM DUAL; SELECT 15+24 FROM DEPT; 각종 함수 ★ ★ ABS : 절대값 ★SIGN : 부호 출력 ★FLOOR : .. 더보기
[SQLD] 가상 컬럼(Psudocolumn) 가상 컬럼 1. 하나의 테이블에 존재하는 다른 컬럼 값들을 이용해서 만들어진 임시 컬럼 2. ORACLE에서 행의 번호를 나타내는 가상 컬럼은 ROWNUM 3. SQL SERVER에서 상위 행을 출력하는 함수는 TOP 함수 ROWNUM(ORACLE) ROWNUM은 오라클에서 사용된다. 각 행에 대해 임시로 부여되는 일련번호로 이루어진 가상 칼럼이다. SELECT * FROM EMP WHERE ROWNUM 더보기

반응형