Learn & Record

SQL MariaDB (연습문제, 다중 조인, 주요 SQL 데이터 타입, VARCHAR CHAR 차이점, 수치형, 날짜형) 본문

Dev/SQL

SQL MariaDB (연습문제, 다중 조인, 주요 SQL 데이터 타입, VARCHAR CHAR 차이점, 수치형, 날짜형)

Walker_ 2024. 2. 21. 11:13

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라는 타입을 사용하기도 하기에 알고는 있을 것