SQL MariaDB (연습문제, 다중 조인, 주요 SQL 데이터 타입, VARCHAR CHAR 차이점, 수치형, 날짜형)
1. 조인 연습 문제
SELECT * FROM tEmployee E INNER JOIN tProject P ON E.name = P.employee;
SELECT * FROM tEmployee E LEFT OUTER JOIN tProject P ON E.name = P.employee;
SELECT * FROM tEmployee E RIGHT OUTER JOIN tProject P ON E.name = P.employee;
- 다음 코드가 어떻게 나올지 예측해보고 이유 생각해보기
- 답 : 모두 같게 나온다
2. 다중 조인
- 조인한 결과셋도 하나의 테이블이므로 그 결과와 다른 테이블을 조인하는 것이 가능. 이를 다중 조인이라고 함
SELECT * FROM tcar C
INNER JOIN tmaker M ON C.maker = M.maker
INNER JOIN tcity T ON M.factory = T.name;
SELECT * FROM tcar C
LEFT OUTER JOIN tmaker M ON C.maker = M.maker
LEFT OUTER JOIN tcity T ON M.factory = T.name;
SELECT * FROM tcar C
LEFT OUTER JOIN tmaker M ON C.maker = M.maker
LEFT OUTER JOIN tcity T ON M.factory = T.name;
- 1) 식품 카테고리를 구매한 고객의 이름과 상품명을 JOIN을 이용해서 조사하라
SELECT addr FROM tMmember WHERE MEMBER =
(SELECT MEMBER FROM torder WHERE item =
(SELECT item FROM titem WHERE category =
(SELECT category FROM tcategory WHERE delivery = '2000'));
- 2) 배송비가 2000원인 상품을 구매한 회원의 주소와 상품명, 제조사를 JOIN을 이용해서 조사하라
3. 주요 SQL 데이터 타입
- 문자열 데이터 타입 : char(255), varchar(255)
- 긴글이나 html 소스 저장 : text(65535), mediumtext(16777215)
- 날짜 시간 데이터 유형 : date, datetime
- 숫자 데이터 유형 : tinyint(작은 정수 값), int(표준 정수 값), decimal(m, d) 외화 금액 표시 적당
4. varchar와 cahr의 차이점
- 고정길이인 char 타입은 길이보다 짧은 문자열의 뒷 부분을 공백으로 채움. char(10) : abc******
- 가변길이인 varchar 타입은 문자열 길이 만큼만 저장. varchar(10) : abc
- varchar형은 용량면에서 좋고, char는 속도면에서 좋다
5. 수치형
- 수치형은 수학적인 숫자값을 저장하는 타입이며 정수형과 실수형으로 구분
- 정수형은 소수점 이하를 표현하지 않는 수치값
- 가장 흔한 타입이며 나이, 가격, 개수 등이 모두 정수값의 예
6. 날짜형
- DATE, DATETIME
- 간혹, TIMESTAMP라는 타입을 사용하기도 하기에 알고는 있을 것