SQL2017. 6. 11. 21:28

집계함수 

- 수(COUNT), 합계(SUM), 평균(AVG), 최대값(MAX), 최소값(MIN) 등을 구하기 위한 함수구성 

예 

   SELECT AVG(AGE) FROM STUDENT      1개의 행으로 결과가 구해짐 



합계 구하는 SUM 함수 

- 학생들의 나이 총합 출력하기(예제) 

1: SELECT SUM(AGE) AS [나이 총합] 

2: FROM STUDENT  


평균 구하는 AVG 함수  

- 학생들의 나이 총합 출력하기(예제) 

1: SELECT AVG (AGE) AS [평균 나이] 

2: FROM STUDENT  


GROUP BY 

-  GROUP BY 절 뒤에 해당 칼럼을 기술 

SELECT 칼럼 명, 집계함수 

FROM 테이블 명  

WHERE 조건 (연산자)  

GROUP BY 칼럼 명; 


- 소속 과정별 평균 연령을 과정 번호와 함께 출력하기(예제)  

1: SELECT COU_ID, AVG (AGE) AS [평균 나이] FROM STUDENT  

2: GROUP BY COU_ID 


HAVING 조건 

-  과정별 평균 연령이 25세 이상인 과정의 번호와 평균 연령 구하기(예제)  

1: SELECT COU_ID, AVG (AGE) AS [평균 나이] 

2: FROM STUDENT  

3: GROUP BY COU_ID 

4: HAVING AVG(AGE) >= 25 


조인  

Equi Join 

-  조인 대상이 되는 테이블의 공통적으로 존재하는 칼럼 값이 같은 값을 가지는 조건(=)에 대해서 조인 결과를 얻는 것 



테이블에 별칭 부여하기   


-  서브 쿼리형식 

 SELECT SELECT_LIST                               → 메인 쿼리   

 FROM TABLE_LIST 

 WHERE COLUMN =  (SELECT EXPRESSION  → 서브 쿼리 

                            FROM ..... 

                            WHERE.....) 


서브 쿼리에는 몇 가지 규칙 


1.   서브 쿼리 안에 서브 쿼리가 들어갈 수 있다. 이것을 네스팅(nesting)이라고 하며 메모리가 허용하는 한 무제한으로 중첩할 수 있다.    

2.   메인 쿼리에서 서브 쿼리의 결과 값을 조건으로 사용할 때 SOME, ANY 또는 

     ALL 연산자를 사용하지 않는 일반적인 경우에는 서브 쿼리에서는 하나의    

     레코드 값만 리턴해야 한다. 그러므로 대부분의 경우 서브 쿼리에는 GROUP BY,  

     HAVING문을 사용할 수 없다.    

3.  서브 쿼리에서 ORDER BY문은 TOP 연산자와 함께 있을 때만 사용 가능하다.     

4.  서브 쿼리에서 SELECT 하지 않은 칼럼은 주 쿼리에서 사용할 수 없다. 

 -  단일 행(Single Row) 서브 쿼리는 수행 결과가 오직 하나의 로우(행, row)만을 반환하는 서브 쿼리를 가진 것 


다중 행 서브 쿼리 

-  서브 쿼리에서 반환되는 결과가 하나 이상의 행일 때 사용하는 서브 쿼리 

IN 연산자 

-  메인 쿼리의 비교 조건에서 서브 쿼리의 출력 결과와 하나라도 일치하면 메인 쿼리의 WHERE 절이 참이 되도록 하는 연산자 


INSERT문의 기본 형식 

 INSERT INTO table_name (column_name, …) 

VALUES(column_value, …) ; 


1: INSERT INTO COURSE 

2:(COU_ID, COU_NAME, TEA_NAME) 

3: VALUES(50, ‘보안’, ‘주상면’) 

4: 

5: SELECT * FROM COURSE 



UPDATE문의 기본 형식 

 UPDATE table_name 

SET column_name1 = value1, column_name2 = value2, … 

WHERE conditions; 


- 과정 번호가 10번인 학생의 과정 번호를 그0번으로 수정(예제) 

UPDATE문의 형식 


1: UPDATE STUDENT 

2: SET COU_ID=30 

3: WHERE COU_ID=10

4: 

5: SELECT * FROM STUDENT


과정 번호(COU_ID)가 10인 자료를 과정 번호 30으로 수정한다. 


DELETE문의 기본 형식 

-  30번 과정 소속 학생을 삭제(예제) 

1: DELETE STUDENT 

2: WHERE COU_ID=30 

3: 

4: SELECT * FROM STUDENT 





 



 

 


 



'SQL' 카테고리의 다른 글

뷰와 저장 프로시저 - 2  (0) 2017.06.15
뷰와 저장 프로시저 - 1  (0) 2017.06.15
SQL 기본 - 3  (0) 2017.06.11
SQL 기본 - 2  (0) 2017.05.24
SQL 기본  (0) 2017.05.24
Posted by 멜데스