설계에 참여한 DB구조는 잘 알고 있었지만,취업 후 이미 서비스 되고 있는 DB의 구조를 파악하는 것이 쉽지 않았다. 특히 규모가 큰 프로젝트일수록 ERD와 테이블정의서로 파악하기 어려웠기 때문에 도움이 되었던 쿼리문을 정리해보았다. 1. 특정 컬럼이 존재하는 테이블, 뷰 검색--컬럼 검색SELECT DISTINCT TABLE_NAME--FROM ALL_TAB_COLUMNS /*전체 테이블*/FROM USER_TAB_COLUMNS /*접속한 계정의 전체 테이블*/WHERE COLUMN_NAME LIKE '%컬럼명%'ORDER BY TABLE_NAME;>> 컬럼명 MEM_ID 검색 결과.>> MEM_ID가 포함된 컬럼을 가진 테이블을 알고 싶었기 때문에 LIKE 문을 사용했지만, 컬럼명을 정확하..
분류 전체보기
1. 작업창 생성 및 관리 Ctrl + N 프로젝트 / 패키지 / 클래스 생성하기 (New)Ctrl + E 현재 작업 중인 창 변경 Ctrl + W 현재 작업중인 창 종료 Ctrl + M 현재 작업 창 전체화면 / 전체화면 취소 Ctrl + E 현재 열린 작업 창 목록 열기 > 화살표로 선택해서 창 열기 가능 F2 프로젝트/패키지/클래스 등의 이름을 변경 할 때 사용. 절대 바탕화면 폴더에서 바꾸지말기ㅠㅠ Ctrl + Shift + O 전체 import 2. 소스 편집 Ctrl + A 전체 선택 Alt + Shift + A 열모드 (세로 블럭 드래그) Tab 들여쓰기 Ctrl + I 들여쓰기 자동 수정 Shift + Tab 내어쓰기 Ctrl + / 한줄 주석 처리 ( = // ) Ctrl + Shift ..
▶ SQL 코딩 테스트 연습 > GROUP BY > 입양 시각 구하기(2) 1.테이블 정보 2.문제 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 3.요구사항 분석 및 SQL문 1) 1차 시도 - 오답 -- 조회 : 시간, 입양 횟수 -- 그룹 : 시간별 (0 - 23) -- 정렬 : 시간순 SELECT TO_CHAR(DATETIME, 'HH24') AS 시간 ,COUNT(DATETIME) AS 입양횟수 FROM ANIMAL_OUTS GROUP BY TO_CHAR(DATETIME, 'HH24') HAVING TO_CHAR(DATETIME,..
[ 코디테스트 연습 > GROUP BY > 입양 시각 구하기 (1) ] 1. 테이블 정보 2. 문제 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. 3. 요구사항 분석 및 SQL문 -- 조회 : 입양시간, 입양횟수 -- 그룹 : 시간대별 -- 정렬 : 시간대 오름차순 SELECT TO_CHAR(DATETIME, 'HH24') AS ADP_HOUR , COUNT(DATETIME) AS ADP_CNT FROM ANIMAL_OUTS GROUP BY TO_CHAR(DATETIME, 'HH24') HAVING TO_CHAR(DATETIME,..
SUM, MAX, MIN > 중복 제거하기 ▶테이블 정보 ▶문제 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다. ▶SQL문 SELECT COUNT(DISTINCT(NAME)) AS 이름 FROM ANIMAL_INS WHERE NAME IS NOT NULL >> COUNT 함수에 DISTINCT (중복제거 기준 컬럼명) 을 적었다 >> WHERE 절에 NAME != NULL 을 써서 오류가 났다. 비교연산자 ( != ) 는 NULL에 사용 할 수 없기 때문에 논리연산자 ( IS NOT )를 사용해야 한다고 한다 NAME 컬럼의 값을 비교하는 쿼리인데 NULL은 비교할 대상이 없어서 생긴 오류인 ..
▶테이블 정보 ▶문제 동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다. ▶SQL문 SELECT ANIMAL_ID ,NAME ,DATETIME FROM ANIMAL_INS ORDER BY NAME, DATETIME DESC 2개의 정렬기준을 적용하기 위해 ORDER BY절에 정렬 기준 컬럼을 2개 적었다. 우선 적용할 기준 컬럼명1 (이름 = NAME) 을 앞에 적고 오름차순이 디폴트이므로 ASC는 생략. 이름 순으로 정렬 한 다음 적용할 정렬기준 컬럼명2 (보호 시작일 = DATETIME) 을 적었다. 문제에서 나중에 들어온 동물을 먼저 보여주라는 요구가 있어서..