SQL(24)
-
집계함수
다중행 함수는 여러 개의 행의 값들을 같이 연산하는 함수이다. 하나의 값을 출력하기 위해서 여러 개의 행들이 연산에 참여한다. 대표적인 다중행 함수 중 하나는 집계합수가 있다. SUM() : 컬럼 값들의 총 합을 구한다. AVG() : 컬럼 값들의 평균을 구한다. COUNT() : 컬럼 값들의 총 개수를 구한다. MAX() : 컬럼 값들의 최대값을 구한다. MIN() : 컬럼 값들의 최소값을 구한다. # 집계함수는 다른 컬럼들과 섞어서 같이 사용이 불가능하다. - 집계함수와 NULL의 관계 집계함수는 NULL을 제외하고 연산하는 것이 원칙이다. COUNT(DISTINCT 컬럼) DISTINCT 옵션은 중복 값들을 모두 제거하여 한번만 출력될 수 있도록 한다. ⇒ 컬럼 종류 개수 출력 # 집계함수는 WHE..
2022.03.08 -
ORDER BY
SELECT문을 통해 얻어온 결과를 특정 컬럼을 기준으로 오름차순 혹은 내림차순으로 정렬할 수 있다. WHERE, ROWNUM 등과 함께 쓸 수 있다. 모든 타입의 데이터를 정렬할 수 있고 ORDER BY의 정렬 시점은 모든 실행이 끝난 이후, 데이터 출력 전이다. ORDER BY는 데이터 베이스의 메모리를 많이 사용하기 때문에 성능 저하 요인이 된다. SELECT FROM ORDER BY ASC or DESC # 디폴트로 오름차순으로 정렬된다. - 컬럼 번호를 이용한 정렬 SELECT , , FROM ORDER BY 3 ASC; ⇒ 칼럼번호로도 정렬이 가능하다. # 출력되는 결과의 컬럼 숫자보다 큰 값을 이용하여 정렬하면 에러 발생 - 정렬의 연산 시점 ORDER BY의 정렬 시점은 모든 조회가 끝난 ..
2022.03.08 -
NULL
행의 컬럼에 값이 없는 경우를 NULL을 가진다고 한다. NULL은 데이터의 값이 알려져 있지 않거나 의미가 없는 경우에 사용한다. ⇒ NULL = 부재 or 모르는 값 # 정렬에서 무한대의 의미를 가진다. (ORACLE) ⇒ 정렬 시 무한대로 간주하는 의미(?) # 정렬에서 최소의 값이라는 의미를 가진다. (SQL 서버) NULL과의 산술연산 ⇒ NULL과의 산술연산 결과는 모두 NULL이다. NULL과의 비교연산 ⇒ 데이터 값이 NULL인지 여부는 IS NULL, IS NOT NULL을 통해 비교 가능하다. # 조건식 논리에는 TRUE, FALSE, UNKNOWN이 있다. # UNKNOWN 논리는 FALSE 결과와 동일한 결과가 출력된다. ⇒ WHERE 조건에 UNKNOWN 결과인 경우 ORACLE은..
2022.03.08 -
함수 Function
함수란 특정한 값들을 함수의 괄호 ( ) 안에 입력하면 한 개의 결과가 출력 되는 것이다. 괄호 안에 들어가는 것을 인자(argument)라 한다. 인자는 단일 또는 복수개가 가능하다. 단일 행 함수 SQL에서 기본 제공되는 함수를 내장 함수라 한다. 단일 행 함수는 하나의 행을 입력했을 때, 결과가 하나의 행으로 나오는 것이다. DUAL 테이블 오라클 설치시 자동적으로 생성되는 오라클의 표준 테이블이다. 오직 하나의 행에 하나의 칼럼만 가지고 있는 Dummy 테이블이다. DUAL 테이블은 일시적인 가상테이블로서 숫자 연산, 날짜 연산을 위해서 쓰이는 것이 일반적이다. 오라클에서 DUAL 테이블을 이용해서 기본적인 데이터의 연산이 가능하지만 SQL 서버에서는 별도의 테이블 지정 없이 데이터의 연산이 가능..
2022.03.07 -
가상 컬럼 Psudocolumn
하나의 테이블에 존재하는 다른 컬럼 값들을 이용해서 만들어진 임시 컬럼을 말한다. ORACLE에서 행의 번호를 나타내는 가상 컬럼은 ROWNUM SQL SERVER에서 상위 행을 출력하는 함수는 TOP 함수 ROWNUM (ORACLE 에서) 각 행에 대해서 임시로 부여되는 일련번호로 이루어진 가상 컬럼이다. ROWNUM을 사용해서 SQL명령문이 출력한 행들의 개수를 제한 할 수 있다. SELECT FROM WHERE ; # WHERE 조건문의 ROWNUM은 반드시 ROWNUM = 1인 값을 포함해야 한다. TOP (SQL 서버에서) TOP 컬럼은 MSSQL (SQL 서버) 에서 상위 N개 데이터를 출력해주는 함수이다. SELECT TOP () FROM ; # WITH TIES : 동일한 데이터가 있을 경..
2022.03.07 -
WHERE문
SQL 명령문은 원칙적으로 테이블 내의 모든 행에 대해서 적용된다. 특정한 행에 대해서만 작업을 할 경우 WHERE문을 사용한다. SELECT FROM WHERE ; where문은 테이블의 각각의 행에 대해서 개체 조건을 만족하는지 여부를 판단한다. 해당 행이 조건을 만족시키면 출력하는 것이다. # 비교연산자 종류 비교연산자는 변수들의 값이 같은지, 다른지, 크거나 작은지 비교하는 연산자다. 기호 의미 크다 = 크거나 같다 = 같다 , !=, ^= 같지 않다 문자데이터 값 비교 WHERE = '문자열' 날짜데이터 값 비교 WHERE >= '2022/03/07' # 논리연산자 종류 논리연산자는 여러 개의 논리식들을 합쳐서 하나의 논리식으로 구성하거나 논리식을 부정하는 연산자다. 논리연산자 AND : 좌우 ..
2022.03.07