Back-end/DataBase 31

SQL - View 뷰란? Trigger 트리거란?

View 뷰SELECT 한 결과를 가상 테이블에 저장한 것. 실제 테이블이 아니기 때문에 view의 행row와 컬럼column에는 값이 존재하지 않는다. xx테이블의 yy칼럼과 zz칼럼을 AA란 조건으로 모아놓은 것 데이터를 추출하기 위한 또다른 정보 집합체. 사용자가 원하는 칼럼만, 원하는 조건으로 데이터를 모아둘 수 있기 때문에 편리함. 가상이지만, 테이블이기때문에 테이블 목록에 표시된다.e.g. Trigger 트리거테이블에 대해 어떠한 처리 (입력, 수정, 삭제 등..) 을 할때 미리 설정해 둔 작업을 자동으로 실행하게 하는 것.입력 수정 삭제 등이 실행되기 전/후로 나뉘어 작업을 실행할 수 있음. 예를 들어 고객담당 부서에서 고객들에게 전체sms 전송 서비스를 제공한다고 할때, 고객담당부서는 개발..

Back-end/DataBase 2018.06.22

SQL - Procedure 프로시저란?

Procedure 프로시저 란? 여러개의 SQL을 하나의 SQL처럼 정리하여 사용하고자 하는 것.실행결과를 반환하지 않는다. 즉, return 이 없다. 서버에서 실행되기 때문에 속도가 빠름. 서버에 저장됨 (=stored procedure)SQL에서 사용할 수 없다. ex) select 프로시저() (X) call 프로시저() (O) Function은 주로 간단한 값 계산. Procedure는 복잡한 계산의 결과를 얻기 위해 계산 과정을 쪼개놓은것.예를 들어 어떤 테이블의 데이터를 가지고 여러 테이블의 데이터를 새로 만들거나, 없는 데이터를 찾아서 자동적으로 넣어주는 경우 또는 월별 통계를 내는 경우 등등의 경우 사용된다. Function으로도 기능 구현은 가능하지만, 펑션은 하나의 결과값만을 리턴 하..

Back-end/DataBase 2018.06.22

SQL - Function 함수란?

Function 함수(기능)(like methods of java.. ) 주로 간단한 연산, 수치 변환 등 위해 사용 프로시저와 유사하나 결과 값 반환. 즉, return 이 반드시 있다. 결과값 하나를 돌려줌, 서버가 아닌 클라이언트(사용자의 컴퓨터)에서 실행 (프로시저보다 느림.) DECLARE 변수명 타입;SELECT '기능' INTO 변수명;RETURN 변수명; e.g)BMI 지수를 계산하는 함수를 생성.식: (체중/(신장*신장)) * 10000 함수명: get_bmi_indicator ->>CREATE FUNCTION `get_bmi_indicator` (weight INT,tall INT) RETURNS INTEGER BEGIN DECLARE _return INT; SELECT (weight/..

Back-end/DataBase 2018.06.21

SQL -JOIN 조인이란? (INNER / OUTER)

SQL -JOIN  한 데이터 베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것. 2개의 테이블에서 각각의 공통 값을 이용함으로써 필드를 조합하는 수단이 된다.  SQL - JOIN 의 표현. 1. 명시적 표현.: SELECT * FROM employeeINNER JOIN department ON employee.departmentID = department.departmentID 2. 암시적 표현: SELECT * FROM employee , departmentWHERE employee.departmentID = departmentID;  INNER JOIN (=JOIN) **일반적으로 사용하는 JOIN 은 INNER JOIN 임. 키 값이 있는 테이블..

Back-end/DataBase 2018.06.21

SQL 통계 - 행열 뒤집기 연습문제 난이도 ★★★★★

Q: 각 도의 시군구를 방문한 내국인 방문객 합계를 구하고 년도별 방문객 최대도시, 최저도시를 조회하라. hint:- 각년도별 도시 방문객 합계 구한뒤 순위 : table Q- 각 년도별 도시 방문객 합계 구한뒤 순위 구하고 꼴지등수만 골라내기!!!!!!!! : table W. - 두 테이블 묵시적 조인. 1)각 도(province) 의 시군구 (district) 방문한 내국방문객 합계 sum(native_cnt) SELECT p.prvn_name,d.distc_name,SUBSTR(f.basis_date,1,4) AS year, SUM(f.native_cnt) as sumFROM province pJOIN district d ON p.prvn_cd = d.prvn_cd JOIN attraction at..

Back-end/DataBase 2018.06.20

SQL 통계_ 행열 뒤집기. ( 시계열 표현 )

** 실습 ) 다음의 결과를 년도를 가로로 구분하고 해당년도에 맞게 데이터가 들어가도록 행열을 뒤집어보자.SELECT attrc_name, 2010, 2011, 2011 ... 2017FROM ( 10번 쿼리 ) * 년도 기준으로 뒤집어짐.attrac_name, IF(year=2010, figure, 0) as 2010, IF(year=2011, figure, 0) as 2011, ............. IF(year=2017, figure,0) as 2017 1) .IF 조건문과 일치할경우에만 넣고자 하는 값을 입력. SELECT attrc_name,IF(year=2010, figure, 0) as '2010',IF(year=2011, figure, 0) as '2011',IF(year=2012, f..

Back-end/DataBase 2018.06.20

SQL 통계_ 서브쿼리 Sub Query_ Rank 순위매기기

Rank 순위 매기기 예제 쿼리 및 주석. SELECT * FROM ( SELECT c.prvn_name, c.distc_name, c.attrc_name, figure, (CASE @name WHEN distc_name THEN @rownum:=@rownum+1 ELSE @rownum:=1 END) as rank,//table b 에서 만든 name과 rownum값으로 rank 값 생성한다.기준이 되는 이름이 앞의 값과 같다면 +1 씩, 그렇지 않으면 1 대입(순위 초기화) @name:=distc_name as distc_nameFROM ( SELECT p.prvn_name, d.distc_name, a.attrc_name, ROUND(SUM(f.native_cnt)) as figureFROM prov..

Back-end/DataBase 2018.06.20

SQL 통계_ 서브쿼리 Sub Query

서브쿼리 Sub Query SQL문장의 하부절(메인 쿼리의 SELECT 하부의 FROM절이나 WHERE절)에 쿼리문을 사용하는 것. 즉, 쿼리안에 쿼리가 포함된 상태. 1. FROM절 sub Query.e.gSELECT p.*,c.* FROM Products p, (SELECT category,type FROM Promotion WHERE Active=1)c WHERE p.Category=c.category SELECT a.prvn_name, a.distc_name, a.attrc_name,figure FROM ( SELECT p.prvn_name, d.distc_name, a.attrc_name, ROUND(SUM(f.native_cnt)) as figure FROM province p JOIN dis..

Back-end/DataBase 2018.06.20

SQL을 이용한 통계

SQL을 이용한 통계 : 기준(group by)있어야 함. : 고객별 월별 년도별 .. ex) 2010년 월별 방문자 수 평균.정렬: order by [컬럼명][정렬방법] LIMIT:개수 제한, LIMIT 5 -> 5개만 조회. SELECT [컬럼들]FROM[테이블명 별칭] JOIN[테이블명 별칭] ON 연결키 = 연결키 WHERE [조건1]AND[조건2]GROUP BY[기준컬럼] ORDER BY[컬럼명][정렬방법]LIMIT [개수]COUNT() 개수SUM() 합계AVG() 평균MIN() MAX()STD() 표준편차 SELECT SUBSTR('20180615' , 5, 6) AS month; SELECT SUBSTR('20180615' , 1, 4) AS YEAR; SELECT NOW(); -- DATE..

Back-end/DataBase 2018.06.20

SQL - DML이란? (쿼리 연습)

SQL (Structured Query Language) DML 데이터 조작 언어 Data Manipulate Language.: 구조(definition)안에 쓰여진 데이터를 조작 하는 언어. SELECT / INSERT / UPDATE / DELETE검색(질의) 등록 갱신 삭제 문법SELECT [컬럼명1], [컬럼명2]FROM [테이블명]; SELECT *(모든 데이터)FROM country; 조건 검색: WHERE SELECT [컬럼명1], [컬럼명2]FROM [테이블명]WHERE [컬럼명1] = [값]; SELECT ⇢ 선택.FROM ⇢ ~테이블로부터WHERE ⇢ ~한 조건으로 some example) -- 대륙이 아시아인 국가의 모든 정보를 조회하라. SELECT * : 모든정보 FROM cou..

Back-end/DataBase 2018.06.15