STUDY/SQL 50

PRIMARY KEY (기본 키) 와 UNIQUE KEY (고유 키)

PRIMARY KEY(기본 키) 주 키 또는 프라이머리 키라고 하며, 관계형 데이터베이스에서 조(레코드)의 식별자로 이용하기에 가장 적합한 것을 관계 (테이블)마다 단 한 설계자에 의해 선택, 정의된 후보 키를 말한다. 유일 키는 0~1개 이상의 속성의 집합으로 볼 수 있다.[1] 즉, 관계에 저장된 레코드를 고유하게 식별하는 후보 키 (=속성 또는 속성의 집합) 가운데, 설계자가 일반적으로 이용되어야한다고 정해 놓은 것을 가리킨다. 기본 키는 다음과 같은 특징을 갖는다. - 값이 중복되지 않는다. - 반드시 값을 입력해야 한다. - 테이블 데이터의 고유 인식번호 (id) UNIQUE KEY(고유 키) 기본 키는 또한 관계형 데이터베이스의 테이블에서 행을 고유하게 정의하는 열 또는 열 조합입니다. 테이블..

STUDY/SQL 2021.07.27

그룹함수 - MAX, MIN 함수

MAX는 최대값을 출력하는 함수, MIN은 최소값을 출력하는 함수. 모든 데이터 타입에 대해 MAX, MIN 함수를 사용할 수 있음. [사용법] MAX(열 이름) / MIN(열 이름) 예시> employees 테이블에서 salary의 최대값과 최소값, first_nam의 최대값과 최소값을 출력해 보세요. SELECT MAX(salary) 최대값, MIN(salary) 최소값, MAX(first_name) 최대문자값, MIN(first_name) 최소문자값 FROM employees; [실행결과]

STUDY/SQL 2021.05.24

CASE 표현식 : 복잡한 조건 논리 처리하기

복잡한 조건식을 여러 개 적용해야 할 때는 DECODE 함수보다 CASE 표현식을 이용하는 것이 유용할 수 있습니다. DECODE 함수는 데이터 값이 정확히 맞거나 틀린 조건을 처리하게 쉬운 반면 CASE 함수는 조건의 범위가 다양한 경우에 쉽게 처리할 수 있습니다. [사용법]CASE WHEN 조건 1 THEN 출력 값 1 WHEN 조건 2 THEN 출력 값 2 .... ELSE 출력 값 3 END예시> employees 테이블에서 job_id가 IT_PROG라면 employee_id, first_name, last_name, salary를 출력하되 salary가 9000 이상이면 '상위급여', 6000과 8999 사이면 '중위급여', 그 외에는 '하위급여'라고 출력하세요. SELECT employee_..

STUDY/SQL 2021.04.29

RANK, DENSE_RANK, ROW_NUMBER : 데이터 값에 순위 매기기

RANK, DENSE_RANK, ROW_NUMBER 는 데이터 값에 순위를 매기는 함수입니다. 순위를 매기는 것은 동일하지만 사용법이 조금씩 다릅니다. 즉, 공통 순위가 있을 때 출력을 어떻게 하느냐에 따라 용도가 달라집니다. 차이는 다음과 같습니다. 함수설명순위 예시RANK공통 순위를 출력하되 공통 순위만큼 건너뛰어 다음 순위를 출력한다.1, 2, 2, 4.....DENSE_RANK공통 순위를 출력하되 건너뛰지 않고 바로 다음 순위를 출력한다.1, 2, 2, 3.....ROW_NUMBER공통 순위를 없이 출력한다.1, 2, 3, 4..... 예시> RANK, DENSE_RANK, ROW_NUMBER 함수를 각각 이용해 employees 테이블의 salary 값이 높은 순서대로 순위를 매겨 출력해 보세요..

STUDY/SQL 2021.04.28

DECODE : 조건 논리 처리하기

DECODE는 데이터 값이 조건 값과 일치하면 치환 값을 출력하고 일치하지 않으면 기본값을 출력합니다. SQL문을 작성할때 매무 자주 쓰는 함수입니다. 예시> employees 테이블에서 first_name, last_name, department_id, salary를 출력하되 department_id가 60인 경우에는 급여를 10% 인상한 값을 계산하여 출력하고 나머지 경우에는 원래의 값을 출력하세요. 그리고 department_id가 60인 경우에는 '10%인상'을 출력하고 나머지 경우에는 '미인상'을 출력하세요. [실행문]SELECT first_name, last_name, department_id, salary 원래급여, DECODE(department_id, 60, salary*1.1, sala..

STUDY/SQL 2021.04.27

NVL : NULL 값 처리하기

특정 열의 행에 대한 데이터 값이 없다면 데이터 값은 null이 됩니다. null은 그 자체로 의미가 있는데 '값이 없다'는 것을 나타내는 값입니다. 데이블을 정의할 때 null 값을 가지지 못하도록 지정할 수도 있습니다. 이런 경우를 NOT NULL이라고 합니다. null 값은 다음과 같은 특징이 있습니다.할당되지 않았거나 알려져 있지 않아 적용이 불가능한 값입니다.0 이나 공백(space)과는 다릅니다.null 값을 포함하는 산술 연산의 결과는 null입니다. 다음 SQL문을 실행해 보겠습니다.SELECT * FROM employees ORDER BY commission_pct; [실행결과] commission_pct에 대해 오름차순으로 정렬하여 출력하였습니다. commission_pct 열을 살펴보..

STUDY/SQL 2021.04.23

날짜 및 시간 형식 변환하기(TO_CHAR)

TO_CHAR는 날짜, 숫자, 문자 값을 지정한 형식의 VARCHAR2 타입 문자열로 변환하는 함수입니다. [사용법]TO_CHAR(날짜 데이터 타입, '지정 형식') 아래와 같이 날짜 지정 형식으로 변환하여 출력할 수 있습니다. ※날짜 지정 형식지정 형식설명예결과CC세기TO_CHAR(SYSDATE, 'CC')21YYYY or YYY or YY or Y연도TO_CHAR(SYSDATE, 'YYYY')2021Y,YYY콤마가 있는 연도TO_CHAR(SYSDATE, 'Y,YYY')2,201YEAR문자로 표혐된 연도TO_CHAR(SYSDATE, 'YEAR')TWENTY TWENTYONEBC or ADBC/AD 지시자TO_CHAR(SYSDATE, 'BC')서기Q분기TO_CHAR(SYSDATE, 'Q')1MM두 자리 ..

STUDY/SQL 2021.04.22

숫자 형식으로 변환하기(TO_CHAR)

TO_CHAR TO_CHAR 는 다음과 같이 숫자 값을 지정한 형식의 문자열로 변환하는 함수입니다. 즉 NUMBER 데이터 타입을 지정한 형식의 VARCHAR2 데이터 타입으로 변환할 대 사용합니다. TO_CHAR(숫자 데이터 타입, '지정 형식) ※ 숫자 지정 형식지정 형식설명예결과99로 출력 자릿수 지정TO_CHAR(salary, '99999999')240000자릿수만큼 0을 출력TO_CHAR(salary, '09999999')00024000$달러 기호TO_CHAR(salary, '$9999999')$24,000L지역 화폐 기호(원)TO_CHAR(salary, 'L9999999')\24,000.명시한 위치에 소수점TO_CHAR(salary, '999999.99')24000.00,명시한 위치에 쉼표TO..

STUDY/SQL 2021.04.21