하고재비
데이터베이스 와 SQL 본문
1. 데이터베이스 : 조직에 필요한 정보를 얻기위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은것.
2. 데이터베이스 개념 :
1. 통합된 데이터 : 데이터 통합. 데이터의 중복최소화 -> 데이터 불일치 현상 없앰
2. 저장된 데이터 : 컴퓨터 저장장치에 저장된 데이터
3. 운영 데이터 : 조직의 목적을 위한 데이터
4. 공용 데이터 : 한 사람의 업무를위한 데이터가 아닌 공동사용데이터
'운영데이터를 통합하여 저장하며 공용으로 사용됨.'
3.데이터베이스의 특징 :
실시간 접근성, 계속적인 변화, 동시공유, 내용에 따른 참조
4. 데이터베이스 언어
SQL
DDL - Database Definition Language - 데이터 정의어 : 테이블이나 관계의 구조를 생성하는데 사용 create, alter, drop 등
DML - Database Manipulation Language - 데이터 조작어 : 데이터 검색, 삽입, 수정, 삭제등 사용 select insert delete update등
DCL - Database Control Language - 데이터 제어어 : 데이터의 사용권한을 관리하는데 사용 grant, revoke등
4-1 select 문의 구성요소
SELECT + 속성(들)
FROM + 테이블
WHERE + 검색조건
GROUP BY + 속성이름
HAVING + 검색조건
ORDER BY + 속성이름
1. SELECT / FROM 어디에 어떤게 있나?
SELECT * FROM TABLE_NAME;
SELECT NAME FROM DEPT;
2. WHERE 조건에 충족하는 데이터가 어떤건가?
SELECT *
FROM TABLE_NAME
WHERE @@@;
SELECT NAME
FROM THING
WHERE PRICE <2000; -- THING 테이블의 자료들중 PRICE가 2000이하인것들의 NAME 은?
SELECT NAME
FROM THING
WHERE PRICE BETWEEN 1000 AND 2000; -- THING 테이블의 자료들중 PRICE가 1000이상 2000이하인것들의 NAME 은?
SELECT NAME
FROM THING
WHERE PRICE >= 1000 AND PRICE <= 2000; -- THING 테이블의 자료들중 PRICE가 1000이상 2000이하인것들의 NAME 은?
SELECT NAME
FROM THING
WHERE MADEIN IN('KOREA', 'USA'); -- THING 테이블의 자료들중 MADEIN 이 'KOREA' 혹은 'USA'인 것들의 NAME은?
SELECT NAME
FROM THING
WHERE MADEIN NOT IN('KOREA', 'USA'); -- THING 테이블의 자료들중 MADEIN 이 'KOREA' 혹은 'USA'가 아닌것들의 NAME은?
SELECT NAME
FROM THING
WHERE MADEIN LIKE 'KOREA'; -- THING 테이블의 자료들중 MADEIN 이 'KOREA'인 NAME은?
SELECT NAME
FROM THING
WHERE MADEIN LIKE '%KOREA%'; -- THING 테이블의자료들중 MADEIN 에 'KOREA' 가 포함된 MADEIN들의 NAME은?
SELECT NAME
FROM THING
WHERE MADEIN LIKE 'KOREA' AND PRICE > 10000; -- THING 테이블의 자료들중 MADEIN 이 'KOREA'이고 PRICE 가 10000 이상인 것은?
SELECT NAME
FROM THING
WHERE MADEIN = 'KOREA' OR MADEIN = 'UAS'; -- THING 테이블의 자료들중 MADEIN 'KOREA' 혹은 'USA' 인것들의 NAME은
3. ORDER BY **순으로 검색
SELECT *
FROM TABLE_NAME
ORDER BY @@@
SELECT NAME
FROM THING
ORDER BY PRICE; -- THING 테이블의 자료들중 NAME을 PRICE 순으로 검색
SELECT NAME
FROM THING
ORDER BY PRICE, MADEIN; -- THING 테이블의 자료들중 NAME을 PRICE 순으로 검색, 결과가 같으면 MADEIN 순으로 검색
SELECT NAME
FROM THING
ORDER BY PRICE DEAS, MADEIN ASC;
-- THING 테이블의 자료들중 NAME을 PRICE의 내림차순 검색, 결과가 같으면 MADEIN 오름차순으로 검색
4. 집계함수
SELECT SUM(*)
FROM TABLE_NAME
SELECT SUM(SALEPRICE)
FROM THING; -- THING 테이블의 SALEPRICE의 총합
SELECT SUM(SALEPRICE) AS 총매출
FROM THING; -- '총매출' 이라는 열 이름에 THING 테이블의 SALEPRICE의 총합을 출력
SELECT SUM(SALEPRICE) AS 총매출
FROM THING
WHERE MADEIN LIKE 'KOREA'; -- '총매출' 이라는 열 이름에 THING 테이블의 MADEIN 이 'KOREA'인 SALEPRICE 의 총합
을 출력
SELECT SUM(SALEPRICE) AS TOTAL,
AVG(SALEPRICE) AS AVERAGE,
MIN(SALEPRICE) AS MINIMUM,
MAX(SALEPRICE) AS MAXIMUM
FROM THING; -- THING 테이블의 SALEPRICE의 총합, 평균, 최저, 최대를 출력
SELECT COUNT(*)
FROM THING; -- THING 테이블의 데이터 등록 건수를 출력
5. GROUP BY
SELECT NAME
FROM THING
GROUP BY PRICE; -- THING 테이블의 NAME을 MADEIN별로 검색
6. HAVING
SELECT NAME
FROM THING
GROUP BY PRICE
HAVING COUNT(*) >= 2; -- THING 테이블의 2건이상 데이터 검색이 가능한 NAME을 MADEIN별로 검색
7. JOIN -- 테이블과 테이블을 조건없이 연결할때.
SELECT *
FROM THING, THAT;
SELECT *
FROM THING, THAT
WHERE THING.NAME = THAT.NAME; -- THING THAT의 데이터중 NAME에 관한 데이터를 모두 검색.
SELECT *
FROM THING, THAT
WHERE THING.NAME = THAT.NAME
ORDER BY TING.PRICE; -- THING THAT의 NAME에 대한 데이터를 THING의 PRICE순으로 검색
SELECT NAME,SALEPRICE
FROM THING,THAT
WHERE
'Server' 카테고리의 다른 글
[Oracle] ORA-28000: the account is locked (0) | 2019.02.14 |
---|---|
[Oracle] PCTFREE,PCTUSED,INITRANS,MAXTRANS,FREELIST,NOCACHE (0) | 2019.02.08 |
[Server] 톰캣 사진 경로 (0) | 2018.02.15 |
Oracle 11g / sqldeveloper 설치 (0) | 2017.09.18 |
[웹서버] 윈도우에 Bitnami 설치해보자 (0) | 2017.08.28 |