코드잇/데이터베이스 28

SQL COALESCE, JOIN, USING, UNION

SELECT p.name AS name, COALESCE(s.sales_volume, '판매량 정보 없음') AS '판매량' FROM pizza_price_cost p LEFT OUTER JOIN sales s on p.id = s.menu_id ; * COALESCE SELECT A, COALESCE(A,'널입니다.') FROM TABLE; SELECT 문에 사용함 NULL일 때 나타낼 내용을 지정한다. (오라클에서 NVL() 같은것) * JOIN문 -- OLD ITEM 테이블 기준으로 보기 -- OLD 테이블에는 있지만 NEW 테이블에는 없는 SELECT OLD.ID OLD ID, OLD.NAME OLD NAME, NEW.ID NEW ID, NEW.NAME NEW NAME FROM ITEM AS OL..

SQL Foreign Key

*Foreign Key Foreign Key는 다른 테이블의 특정 row를 식별할 수 있어야 하기 때문에 주로 다른 테이블의 Primary Key를 참조한다. products, customers 테이블이 부모가 되고 orders 테이블이 자식 테이블이됨 orders에서 product의 name이나 price를 알 수 없지만 Foreign Key 통한 join을 통해서 정보를 확인 할 수 있음 SELECT o.productID, p.name, p.price FROM products p INNER JOIN orders o ON p.name = o.productID; 내생각에는 이런 간다한 그림이 이해하는게 좋을것 같아 정리함

SQL 실용함수들 살펴보기

-- 5~100세 사이 member들의 나이 평균 SELECT AVG(age) FROM copang_main.member WHERE age BETWEEN 5 AND 100; -- 끝자리에 호가 없는행 SELECT * FROM copang_main.member WHERE address NOT LIKE '%호'; --COMMENT가 NULL이 아닌 ROW들로 평균 별점 구하기 SELECT COUNT(COMMENT) AS 'COUNT(*)', ROUND(AVG(star)) FROM review WHERE COMMENT IS NOT NULL; -- 비만도 계산식 SELECT email, height, weight, weight / ((height/100) * (height/100)) FROM copang_mai..

SQL 백문이 불여일타

데이터특성 구성하기 SELECT COUNT(*) FROM copang_main.member; SELECT COUNT(email) FROM copang_main.member; SELECT MIN(weight) FROM copang_main.member; SELECT MAX(weight) FROM copang_main.member; SELECT AVG(weight) FROM copang_main.member; SELECT SUM(age) FROM copang_main.member; SELECT STD(age) FROM copang_main.member; -- 표준편차 SELECT CEIL(height) FROM copang_main.member; -- 올림함수 SELECT FLOOR(height) FROM ..

[데이터베이스] 데이터 타입 변경

* CAST 예제 sales 테이블에서 TEXT 타입의 컬럼인 registration_num(등록번호)에 있는 숫자값들을 기준으로 정렬을 하려고 합니다. 이때 숫자가 작을수록 해당 row들이 먼저 출력되도록 하고 싶은데요. 아래 빈 칸에 들어갈 함수 이름을 모두 대문자로 직접 작성해보세요. SELECT * FROM sales ORDER BY ( )(registration_num AS signed); CAST CAST 함수는 특정 데이터 타입의 컬럼에 저장된 값을, 일시적으로 다른 데이터 타입으로 변경할 수 있게 해주는 함수입니다. signed는 양과 음의 정수를 나타내는 데이터 타입입니다. * CAST(데이터 AS 변환할 데이터타입)

[데이터베이스] 데이터 정렬해서 보기

SELECT * FROM copang_main.member ORDER BY height ASC; -> 키를 기준으로 오름차순으로 정렬, ASC = ascending SELECT * FROM copang_main.member ORDER BY height DESC; -> 키를 기준으로 내림차순 정렬 , DESC = descending SELECT * FROM copang_main.member WHERE gender = 'm' AND weight >= 70 ORDER BY height ASC; -> 몸무게가 70이상인 남자를 키를 기준으로 오름차순 정렬 SELECT sign_up_day, email FROM copang_main.member ORDER BY YEAR(sign_up_day) DESC, email..

[데이터베이스] 데이터 조회 과제

코드잇 피자 가게에서는 여름맞이 특별 이벤트로 (1) 나이가 20대이고, (2) 코드잇 피자 가게 사이트에 가입한 달이 7월인 회원들만 추려서 그 회원들에게 이메일로 할인 쿠폰을 발송하려고 합니다. 코드잇 피자 가게에서 쓰는 member 테이블은 아래와 같은데요. 1 dongdonge@naver.com 32 2019-07-23 2 captain@daum.net 21 2015-03-24 3 taehos@google.com 24 2018-07 -11 4 sungseo@google.com 27 2018-12-20 5 goodpeople@yahoo.com 24 2019-06-27 ... ... ... ... SELECT * FROM member WHERE age BETWEEN 20 AND 29 AND MONTH..