본문 바로가기
728x90

sqld30

[SQLD 2-2-3] SQL 활용 - 그룹 함수 그룹 함수- 숫자함수 중 여러값을 전달하여 하나의 요약값을 출력하는 다중행 함수- 수학/통계 함수들(기술통계 함수)- GROUP BY 절에 의해 그룹별 연산 결과를 리턴 함- 반드시 한 컬럼만 전달- NULL은 무시하고 연산COUNT- 행의 수를 세는 함수- 대상 컬럼은 * 또는 단 하나의 컬럼만 전달 가능(* 사용 시 모든 컬럼의 값이 널일 때만 COUNT 제외)- 문자, 숫자, 날짜 컬럼 모두 전달 가능- 행의 수를 세는 경우 NOT NULL 컬럼을 찾아 세는 것이 좋음(PK 컬럼)# 문법COUNT(대상)# 예제각 컬럼의 COUNT 결과SELECT COUNT(*), COUNT(EMPNO), COUNT(COMM)FROM EMP; COUNT(*)COUNT(EMPNO)COUNT(COMM)114144 널을 .. 2024. 5. 29.
[SQLD 2-2-2] SQL 활용 - 집합 연산자 집합 연산자- SELECT 문 결과를 하나의 집합으로 간주, 그 집합에 대한 합집합, 교집합, 차집합 연산- SELCT 문과 SELECT 문 사이에 집합 연산자 정의- 두 집합의 컬럼이 동일하게 구성되어야 함(각 컬럼의 데이터 타입과 순서 일치 필요)- 전체 집합의 데이터 타입과 컬럼명은 첫번째 집합에 의해 결정됨# 집합 연산자 사용 시 주의 사항1. 두 집합의 컬럼 수 일치2. 두 집합의 컬럼 순서 일치3. 두 집합의 각 컬럼의 데이터 타입 일치4. 각 컬럼의 사이즈는 달라도 됨합집합- 두 집합의 총 합(전체) 출력- UNION 과 UNION ALL 사용 가능 1) UNION- 중복된 데이터는 한 번만 출력- 중복된 데이터를 제거하기 위해 내부적으로 정렬 수행- 중복된 데이터가 없을 경우는 UNION .. 2024. 5. 27.
[SQLD 2-2-1] SQL 활용 - 서브쿼리 서브쿼리 (Sub Query) - 하나의 SQL문 안에 포함되어있는 또 다른 SQL문을 말한다.- 반드시 괄호로 묶어야 함 - 서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있지만, 메인쿼리는 서브쿼리의 컬럼을 사용할 수 없다.  - 서브쿼리는 서브쿼리 레벨과 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성된다. # 서브쿼리 사용 가능한 곳- SELECT 절- FROM W절- WHERE - HAVING 절- ORDER BY 절- 기타 DML(INSERT, DELETE, UPDATE)- GROUP BY 절 사용 불가 서브쿼리 종류1. 동작하는 방식에 따라2. 위치에 따라1) 스칼라 서브쿼리- SELECT 에 사용하는 서브쿼리- 서브쿼리의 결과를 마치 하나의 컬럼처럼 사용하기 위해 주로 사용- 각 행마다 스칼.. 2024. 5. 23.
[SQLD 2-1-8] SQL 기본 - 표준 조인 1. FROM 절 조인 형태- ANSI/ISO SQL에서 표시하는 FROM 절의 조인 형태는 다음과 같다.- INNER JOIN : 조인의 디폴트 옵션으로 조인 조건을 만족하는 행들만 반환 (생략 가능, CROSS, OUTER JOIN과 함께 사용 못함)- NATURAL JOIN : INNER JOIN의 하위개념, 두 테이블간 동일한 이름을 갖는 모든 컬럼에 대해 EQUI JOIN을 수행한다.- USING 조건절- ON 조건절- CROSS JOIN- OUTER JOIN2. INNER JOIN- INNER JOIN은 OUTER JOIN과 대비해 내부 조인이라고 하며, 조인 조건을 만족하는 행들을 반환한다.- 전통적인 방식의 조인 문법에서는 WHERE 절에 기술하던 조인 조건을 FROM 절에 정의하겠다는 표.. 2024. 5. 23.
[SQLD 2-1-7] SQL 기본 - 조인 1. JOIN 개요- 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것- 관계형 데이터베이스의 가장 큰 장점이면서 대표적인 핵심 기능- 일반적인 경우 행들은 기본키(PK)나 외래키(FK) 값의 연관에 의해 JOIN이 성립된다. 하지만 어떤 경우에는 이러한 관계가 없어도 논리적인 값들의 연관만으로 JOIN이 성립 가능하다. # 주의할 점- FROM 절에 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 때는 단 두 개의 집합 간에만 조인이 일어난다는 것이다.- FROM 절에 A, B, C 테이블이 나열되었더라도 특정 2개의 테이블만 먼저 조인 처리되고, 2개의 테이블이 조인되어서 처리된 새로운 데이터 집합과 남은 한 개의 테이블이 다음 차례로 조인되는 것이다.- 예를 들어 A, B, C.. 2024. 5. 20.
[SQLD 2-1-6] SQL 기본 - ORDER BY 절 1. ORDER BY 정렬 - 조회된 데이터들을 다양한 목적에 맞게 특정 컬럼을 기준으로 정렬하여 출력하는데 사용  - 컬럼명 대신에 SELECT 절에서 사용한 ALIAS 명이나 컬럼 순서를 나타내는 정수도 사용 가능- 별도로 정렬 방식을 지정하지 않으면 기본적으로 오름차순이 적용되며, SQL 문장의 제일 마지막에 위치한다.- 숫자형 데이터 타입은 오름차순으로 정렬했을 경우 가장 작은 값부터 출력- 날짜형 데이터 타입은 오름차순으로 정렬했을 경우 가장 빠른 날짜 값이 먼저 출력- Oracle 에서는 NULL 값을 가장 큰 값으로 간주, 오름차순 정렬 시 가장 마지막에, 내림차순으로 정렬시 가장 먼저 위치- SQL Server 에서는 NULL 값을 가장 작은값으로 간주, 오름차순 정렬 시 가장 먼저 위치#.. 2024. 5. 19.
[SQLD 2-1-5] SQL 기본 - GROUP BY, HAVING 절 1. 집계 함수 (Aggregate Fuction)- 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수 중 하나- GROUP BY 절은 행들을 소그룹화 한다.- SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다.집계 함수명 ( [DISTINCT | ALL] 컬럼이나 표현식 )- ALL : Default 옵션이므로 생략 가능함- DISTINCT : 같은 값을 하나의 데이터로 간주할 때 사용하는 옵션 # 집계 함수의 종류2. GROUP BY 절- WHERE 절을 통해 조건에 맞는 데이터를 조회했지만 테이블에 1차적으로 존재하는 데이터 이외의 정보 즉, 2차 가공 정보도 필요할 때 사용- FROM 절과 WHERE 절 뒤에 오며, 데이터들을 작은 그룹으로 분류하여 .. 2024. 5. 18.
[SQLD 2-1-4] SQL 기본 - WHERE 절 1. WHERE 조건절 개요- 원하는 자료만 검색하기 위해 SQL문에 WHERE 절을 사용하여 자료를 제한할 수 있다.SELECT [DISTINCT/ALL] 컬럼명 [ALIAS명]FROM 테이블명WHERE 조건식; WHERE 절은 FROM 절 다음에 위치하며, 조건식은 아래 내용으로 구성된다.- 컬럼명(보통 조건식의 좌측에 위치)- 비교 연산자- 문자 숫자 표현식(보통 조건식의 우측에 위치)- 비교 컬럼명(JOIN 사용시)2. 연산자의 종류# 연산자의 우선순위3. 비교 연산자# 비교 연산자의 종류 # 비교 연산자의 주의할 점- CHAR, VARCHAR2 와 같은 문자형 타입을 가진 컬럼을 특정 값과 비교하기 위해서는 작은따옴표, 큰 타옴표로 비교 처리- NUMERIC 같은 숫자형 형태의 값은 인용 부호(.. 2024. 5. 17.
[SQLD 2-1-3] SQL 기본 - 함수 1. 내장 함수 (BUILT-IN FUNCTION) 개요함수는 벤더에서 제공하는 함수인 내장 함수와 사용자가 정의할 수 있는 함수로 나눌 수 있다.  내장 함수는 다시 함수의 입력 값이 단일행 값이 입력되는 단일행 함수와 여러 행의 값이 입력되는 다중행 함수로 나눌 수 있다. 다중행 함수는 다시 집계 함수, 그룹 함수, 윈도우 함수로 나눌 수 있다.   함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1의 관계라는 중요한 특징을 가지고 있다   # 단일행 함수의 특징- SELECT, WHERE, ORDER BY 절에 사용 가능- 각 행들에 대해 개별적으로 작용하여 데이터 값들을 조작하고, 각각의 행에 대한 조작 결과를 리턴한다.- 여러 인자를 입려해도 단 하나의 결과만 리턴한다.- 함수의 인.. 2024. 5. 16.
728x90