반응형

프로그래밍/Database 59

별명 (Alias) 만들기

Alias 별명은 테이블의 이름 또는 결과 테이블의 열에 대한 제목을 임시적으로 바꾸기 위하여 사용 출력 테이블의 열 이름을 알아보기 쉽게 하도록 만드는데 목적을 둠 별명을 사용하면 좋은 경우 질의문에 여러개의 테이블이 사용될 때 질의문에 함수가 사용될 때 출력 테이블의 열이름이 길거나 읽기에 좋지 않을 때 둘 이상의 열이 합쳐질 때 열에 대한 별명 사용 기본 형식 SELECT 열_이름 AS 별명 FROM 테이블명 테이블에 대한 별명 사용 기본 형식 SELECT 열_이름 FROM 테이블명 AS 별명 Customer 테이블을 조회하여 모든 속성을 표시하되, 각 속성의 이름을 다음과 같이 표시하시오. account – 계정, name – 이름, grade – 등급, credit – 적립금, address –..

[Database] 서브 쿼리(Sub Query)

서브 쿼리(Sub Query) SELECT 문 안에 다른 SELECT 문을 포함 괄호로 묶어 작성 ORDER BY 절을 사용할 수 없음 메인 쿼리(Main Query) 문보다 먼저 수행됨 반환되는 행의 수에 따른 분류 예제 고객 ( customer )테이블에서 ‘bank’ 계정의 등급과 같은 모든 고객의 이름(name)과 적립금 (credit)을 검색하시오. SELECT name, credit FROM customer WHERE grade = ( SELECT grade FROM customer WHERE account='bank' ); Customer 테이블에서 적립금이 가장 많은 고객의 이름(name)과 적립금(credit)을 검색하시오. SELECT name, credit FROM customer W..

[Database] 속성의 데이터 타입

데이터 타입(Data Type) 데이터 타입(자료형)이란 컴퓨터 시스템과 프로그래밍 언어에서 실수, 정수, 소수 자료형 등의 여러 종류의 데이터를 식별하는 타입으로서, 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 할 수 있는 명령어, 데이터의 형태, 의미, 크기와 해당 자료형의 값이 저장되는 방식이다. 문자형 데이터타입 숫자형 데이터타입 날짜형 데이터타입 이진 데이터타입

[Database] 조인 검색 - JOIN

조인 검색 여러개의 테이블을 연결하여 데이터를 검색하는 것 조인 속성 테이블을 연결해주는 속성 속성의 이름은 달라도 됨 속성의 도메인은 같아야 함 외래키를 조인 속성으로 이용 조인 검색 SQL 문 FROM 절 : 검색에 필요한 모든 테이블을 나열 WHERE 절 : 조인 속성의 값이 같아야 함을 의미하는 조인 조건을 제시 속성의 이름 앞에 소속된 테이블의 이름을 표시 테이블 이름과 속성이름은 점( . )으로 연결 예 : orders.item : 주문테이블(orders)의 item 속성 apple 고객이 주문한 제품의 이름을 검색하시오. 필요한 테이블 : orders, items ‘apple’ 검색 조건 : orders.customer = ‘apple’ 주문한 제품 검색 조건 : orders.item = i..

[Database] 그룹별 조건 검색 - GROUP BY, HAVING

그룹별 조건 검색 - GROUP BY, HAVING 일반적인 검색조건 : WHERE 절에 작성 집계 함수는 WHERE 절에서는 사용할 수 없음 그룹에 대한 조건 : HAVING 절에 작성 집계 함수는 HAVING 절에서 사용 가능 예제에 사용할 데이터베이스 Orders 테이블 GROUP BY … HAVING Orders 테이블에서 2건 이상 주문된 제품(item) 별로 제품의 주문건수와 가장 많이 주문된 개수를 검색하시오. (주문건수는 주문건수, 가장 많이 주문한 개수는 최대주문수로 표기) 주문한 제품(item)별 : GROUP BY item HAVING COUNT(*) >= 2 제품별 주문건수 : COUNT( * ) 최대주문수 : MAX( qty ) SELECT item, COUNT( * ) AS 주문..

[Database] 그룹별 검색 - GROUP BY

그룹별 검색 - GROUP BY 특정 속성 값이 같은 투플을 모아 그룹을 만들어 검색 GROUP BY 키워드를 사용 기본 형식 SELECT [ ALL ㅣ DISTINCT ] 속성_리스트 FROM 테이블_리스트 [ WHERE 조건 ] [ GROUP BY 속성_리스트 [ HAVING 조건 ] ] [ ORDER BY 속성_리스트 [ ASC ㅣ DESC ] ] ; 예제에 사용할 데이터베이스 Orders 테이블 GROUP BY 질의 : Orders 테이블에서 주문 제품별 (item) 수량의 합계를 검색하시오. SELECT item, SUM( qty ) as 총주문수량 FROM orders GROUP BY item; [TIP] 그룹별로 검색할 때, 그룹을 나누는 기준 속성을 SELECT 절에 작성하는 것이 좋다 S..

[Database] 집계 함수 - AVG(평균), SUM(합), COUNT

AVG(평균), SUM(합), COUNT 특정 속성 값을 통계적으로 계산한 결과를 검색 집계 함수 (Aggregate Function)를 사용 열 함수 (Column Function)라고도 함 개수, 합계, 평균, 최댓값, 최솟값의 계산을 제공 집계 함수 [주의 사항] NULL 인 속성 값은 제외하고 계산함. WHERE 절에서는 사용할 수 없고 SELECT 절과 HAVING 절에서만 사용할 수 있음. 예제에 사용할 판매 데이터베이스 Customer 테이블 Items 테이블 Orders 테이블 AVG(평균) SELECT AVG ( price ) FROM items; 속성이름으로 AVG(price)을 사용함 AS 키워드를 사용해 이름을 부여 새이름에 공란이 포함된 경우 작음따옴표로 묶는다. SELECT AV..

[Database] 정렬 검색 - ORDER BY 를 이용한 검색

정렬 검색 - ORDER BY 를 이용한 검색 SELECT 문의 검색 결과 테이블의 투플 순서는 DBMS에서 정한 순서로 출력됨 결과 테이블의 내용을 사용자가 원하는 순서로 출력하는 방법 ==> ORDER BY 키워드 사용 기본 형식 SELECT [ ALL ㅣ DISTINCT ] 속성_리스트 FROM 테이블_리스트 [ WHERE 조건 ] [ ORDER BY 속성_리스트 [ ASC ㅣ DESC ] ]; ORDER BY 속성_리스트 : 정렬 기준이 되는 속성을 지정 여러 기준에 따라 정렬하기 위하여 정렬 기준이 되는 속성을 차례로 제시 ASC : 오름차순 정렬 DESC : 내림차순 정렬 기본 정렬 방식 – 오름차순 정렬 정렬 오름차순 정렬 : 알파벳 순서 / 사전 순서, ASCII 코드의 순서 내림차순 정렬..

[Database] 조건 검색 - NULL 을 이용한 검색

조건 검색 - NULL 을 이용한 검색 검색 조건에서 속성의 값이 NULL인지 비교하기 ==> IS NULL 키워드 사용 검색 조건에서 속성의 값이 NULL이 아닌지 비교하기 ==> IS NOT NULL 키워드 사용 예제에 사용할 판매 데이터베이스 Customer 테이블 Items 테이블 Orders 테이블 Customer 테이블에서 주소(address)가 입력되지 않은 고객의 account, name을 검색하시오. [TIP] NULL인지 비교하기 위하여 속성이름=NULL을 사용하면 안됨 투플을 수정 (UPDATE) 할 경우 UPDATE customer SET address=NULL WHERE account=’king’; 옳은 질의문 SELECT account, name FROM customer WHER..

[Database] 조건 검색 - LIKE 를 이용한 검색

조건 검색 - LIKE 를 이용한 검색 검색 조건을 정확히 모르는 경우 부분적으로 일치하는 데이터를 검색하려는 경우 ==> LIKE 키워드를 사용 검색 조건을 정확히 알면 = 연산자로 조건을 표현 LIKE 키워드는 문자열을 이용하는 조건에만 사용할 수 있음 LIKE 키워드와 같이 사용할 수 있는 기호 LIKE 키워드의 사용 예 예제에 사용할 판매 데이터베이스 Customer 테이블 Items 테이블 Orders 테이블 Customer 테이블에서 성이 김씨인 name, account, grade를 검색하시오. -SELECT name, account, grade FROM customer WHERE name LIKE ‘김%’; Customer 테이블에서 account가 5자인 고객의 account, name,..

반응형