데이터베이스1

세미·2022년 10월 4일
0

데이터베이스

목록 보기
1/9

SQL

  • SQL은 기능에 따라 데이터정의어, 데이터조작어, 데이터 제어어로 나뉜다.
  1. 데이터 정의어(DDL)
    테이블이나 관계의 구조를 생성하는데 사용. CREATE, ALTER, DROP 등
  2. 데이터 조작어(DML)
    테이블에 데이터를 검색,수정,삭제하는데 사용하며 SELECT,INSERT,UPDATE 등이 존재. 여기서 SELECT문은 질의어(query)라고 부른다.
  3. 데이터 제어어(DCL)
    데이터의 사용권한을 관리하는데 사용. GRANT,REVOKE 등 존재.
  • 기본문장
    SELECT (속성이름)
    FROM (테이블이름)
    WHERE (검색조건)

  • WHERE 조건

  1. 비교: =,<>
  2. 범위: BETWEEN
  3. 집합: IN, NOT IN
  4. 패턴: LIKE
  5. NULL: IS NULL, IS NOT NULL
  6. 복합조건: AND,OR,NOT
  • ORDER BY : 실행결과를 특정순서대로 출력

  • GROUP BY : 속성값이 같은 값끼리 그룹을 만들 수 있다.

ex)
1.
가격이 8000원 이상인 도서를 구매한 고객에 대하여 고객별 주문 도서의 총 수량을 구하시오. 단 2권이상 구매한 고객만 구하시오.

SELECT custid, count(*)as 도서수량
FROM Orders
WHERE saleprice>=8000
GROUP BY custid
HAVING count(*)>=2;
  • HAVING
    1. 반드시 GROUP BY 절과 같이 작성
    1. WHERE절 보다 뒤에 나와야 함
    2. <검색조건>에는 집계함수가 와야함. (SUM,AVG,MAX,MIN,COUNT)
  1. 고객의 이름과 고객이 주문한 도서의 이름을 구하시오.
    --> 3개의 테이블을 조인해야함.

과제중 떠오른 생각
1. 평균을 비교--> 평균을 비교할려면 각각 마다 SELECT문이 필요함. 어떤 테이블에서 평균을 가져왔는지 알아야되잖아. 예를들어 출판사별로 출판사 평균보다 큰 애들을 알고싶음. 그러면 각 출판사마다 평균을 내야하는 테이블이 필요함? 무슨말인지 알겠니

0개의 댓글