SELF JOIN 과 서브 쿼리 1. SELF JOIN - 같은 테이블을 붙이는 조인 - 한 테이블 안에서 키와 키 값을 참조하는 컬럼을 동시에 가지고 있을 때, 진행 가능 - 같은 테이블을 두번 사용하기 때문에 별명을 붙여서 사용해야 함 2. 서브쿼리 (SubQuery) - 메인 쿼리(실제 작동시킬 쿼리) 안에 ( )를 이용해 먼저 실행하는 쿼리를 넣어 해당 결과를 메인 쿼리에 사용 - 메인 쿼리를 보조한다고 해서 서브쿼리라고 함 3. 서브쿼리의 종류 - 스칼라 서브쿼리 : SELECT에서 사용 - 인라인뷰 서브쿼리 : FROM에서 사용 - 중첩 서브쿼리 : WHERE에서 사용
테이블 분리 - 데이터의 중복을 피하고 효율적인 데이터 관리를 위해 1개의 테이블은 부족 - 성격이 비슷한 정보끼리 따로 떼어 새로운 테이블로 만들어 관리 → 정보간의 의존도가 줄어들어 좀 더 효율적으로 데이터를 관리할 수 있음 다음과 같이 3개의 테이블이 있음 이 테이블을 이용하여 다음 문제를 풀어보자 1. 손흥민의 주문 개수는? SELECT COUNT(*) FROM t_order INNER JOIN t_user ON t_order.userNo = t_user.id WHERE t_user.userName = '손흥민'; 2. 손흥민이 산 상품은? SELECT p.pname, COUNT(*) FROM t_order AS o INNER JOIN t_user AS u ON o.userNo = u.id INN..
SQL JOIN 1. JOIN - 두 개의 테이블을 엮어서 원하는 데이터를 추출할 수 있음 - JOIN은 크게 내부 조인(INNER JOIN), 외부 조인(OUTER JOIN) 으로 나눌 수 있음 2. INNER JOIN (내부 조인) - 두 테이블에 모두 데이터가 있어야만 결과가 출력됨 SELECT FROM INNER JOIN ON 3. OUTER JOIN (외부 조인) - 외부 조인은 한 쪽에만 데이터가 있어도 결과가 출력됨 - 조인 조건에 맞지 않더라도 특정 테이블의 모든 정보가 다 나오게 하고 싶을 때 아우터 조인을 사용 ※ 테이블 위치에 따라 왼쪽을 기준으로 보고 싶으면 LEFT, 오른쪽은 RIGHT (먼저 나온 테이블을 왼쪽으로 봄) SELECT FROM JOIN ON
SQL 활용3 1. 그룹핑 - 특정 컬럼을 기준으로 그룹을 나누어 모든 행을 하나의 그룹으로 편입시켜 그룹별로 집계할 때 사용 ※ ~별 ~결과를 본다 할 때, 자주 사용함 # Country 별로 회원수를 조회 (Count는 중첩 수) SELECT Country, COUNT(Country) FROM Customers GROUP BY Country; # Country별, City별 회원수를 조회 SELECT Country, City, COUNT(City) FROM Customers GROUP BY Country, City 2. HAVING - SELECT문의 순서 - FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY - WHERE가 GROUP BY 보다 먼저 실행..
SQL의 활용2 ※ 샘플은 다음과 같은 사이트를 사용하였음 https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_all MySQL Tryit Editor v1.0 WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, and Opera. If you use another browser you will still be able to use our Try SQL Editor, but a different version, usin www.w3school..
SQL활용1 ※ 샘플은 다음과 같은 사이트를 사용하였음 https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_all MySQL Tryit Editor v1.0 WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, and Opera. If you use another browser you will still be able to use our Try SQL Editor, but a different version, usin www.w3schools...