<git 삭제>

 

  • github 접속 후 Repository 들어가서 Settings- Delete this repository

 

 

  • git 삭제하려는 폴더에서 마우스 우클릭-git Bash Here 

 

 

  • $ rm -rf .git

  • master가 사라졌으니 git이 사라진 것

 

 


 

<폴더에 새 파일이 생겼을때 github에 올리기>

 

+

학원에서 듣고 있는 SQL 강의 같은 경우 바탕화면에 폴더를 지정해서 파일을 하나씩 저장 하고 있다.

수업을 듣고 파일 하나가 새로 생길때 어떻게 github에 업로드할까?

 

 

  • 파일을 저장하고 수업이 끝나면 바탕화면 SQL 폴더에서 git bash here 

 

  • git status에서 빨간색으로 처리된 파일 확인

 

  • git add .

 

  • git commit -m "커밋 설명"

 

  • git push 하면 됨 (처음처럼 remote add origin 이런거 안해도됨)

 

  • Viual Sudio Code에서 README.md 파일수정

 

'Learning > git&github' 카테고리의 다른 글

README.md 로 github에 올린 프로젝트 설명하기  (0) 2020.06.17
git, github 사용하기  (0) 2020.06.15

<집계 함수 (그룹 함수)>

 

  • 집계 함수 (Aggregate function): AVG(평균), COUNT(개수), MAX(최대값), MIN(최소값), SUM(합계)

 

SELECT [그룹열], 그룹 함수 (열 이름)

FROM 테이블명

WHERE 조건

GROUP BY 그룹명

HAVING 그룹 조건

ORDER BY 열이름

 

 

 


 

    • COUNT: 행의 개수 출력 (null값은 제외됨)

    • employees 테이블의 행의 개수 출력

 

1
2
SELECT COUNT(*)
FROM employees;
cs

 

 

 


 

    • employees 테이블에서 commission_pct의 개수 출력

 

1
2
SELECT COUNT(commission_pct)
FROM employees;
cs

 

 

 


 

    • null값도 세고 싶다면?

 

 

1
2
SELECT COUNT(NVL(commission_pct,0))
FROM employees;
cs

 

 

 

 


 

    • MAX, MIN: 최대값과 최소값 employees 테이블에서 salary의 가장 큰 값과 작은 값 출력

 

1
2
SELECT MAX(salary), MIN(salary)
FROM employees;
cs

 

 

 


 

    • employees 테이블의 부서의 개수 출력

 

1
2
SELECT COUNT(DISTINCT department_id)
FROM employees;
cs

 

 

 

 


 

    • employees 테이블에서 department_id가 90인 부서의 직원 수 출력

 

1
2
3
SELECT COUNT(employee_id)
FROM employees
WHERE department_id = 90;
cs

 

 

 


 

    • MAX, MIN 함수를 문자열에 적용

 

1
2
SELECT MAX(first_name), MIN(first_name)
FROM employees;
cs

 

 

 


 

    • MAX, MIN 함수를 문자열에 적용 MAX(hire_date)는 가장 최근날짜, MIN(hire_date)는 가장 오래된 날짜.

 

1
2
SELECT MAX(hire_date), MIN(hire_date)
FROM employees;
cs

 

 

 


 

    • SUM, AVG : 합계와 평균 (숫자만 가능)

 

1
2
SELECT SUM(salary), AVG(salary)
FROM employees;
cs

 

 

 

 


 

    • employees 테이블에서 commission_pct의 평균값을 출력 (널값은 제외)

 

1
2
SELECT AVG(commission_pct)
FROM employees;
cs

 

 

 

 


 

  • 각 부서별로 집계 함수를 내려면 필요한 것이 GROUP BY절

 

    • employees 테이블에서 department_id별 salary의 평균을 평균급여 이름으로 출력

 

1
2
3
SELECT department_id, ROUND(AVG(salary)) 평균급여
FROM employees
GROUP BY department_id;
cs

 

 

 


 

    • employees 테이블에서 department_id별 salary의 평균을 평균급여 이름으로, salary의 합계를 총급여합계로, department_id를 부서번호로, 부서인원수 출력

 

1
2
3
4
5
6
SELECT department_id 부서번호,
ROUND(AVG(salary)) 평균급여,
SUM(salary) 총급여합계,
COUNT(*) 부서인원수
FROM employees
GROUP BY department_id;
cs

 

 

 

 


 

    • employees 테이블에서 department_id별, job_id별 salary의 평균을 평균급여 이름으로, salary의 합계를 총급여합계로, department_id를 부서번호로, 부서인원수를 부서별 직업별 인원수로 출력

 

1
2
3
4
5
6
7
SELECT department_id 부서번호, job_id 직업번호,
    ROUND(AVG(salary)) 평균급여,
    SUM(salary) 총급여합계,
    COUNT(*"부서별 직업별 인원수"
FROM employees
GROUP BY department_id, job_id
ORDER BY 부서번호 ASC;
cs

 

 

 


 

  • HAVING 절: 그룹 함수를 이용한 조건절

 

1
2
3
4
5
SELECT department_id 부서번호, SUM(salary) 급여합계
FROM employees
WHERE SUM(salary) > 100000 --그룹함수 사용 에러
GROUP BY department_id
ORDER BY department_id;
cs

 

    • WHERE절에 salary의 합계가 10000이 넘는 부서번호와 급여합계를 구하면 에러가난다.

    • WHERE절 대신에 HAVING절 사용

 

1
2
3
4
5
SELECT department_id 부서번호, SUM(salary) 급여합계
FROM employees
GROUP BY department_id
HAVING SUM(salary) > 100000
ORDER BY department_id;
cs

 

 


 

 

<집계 함수 예제>

 

 

  • employees 테이블에서 부서별 사원수, 최대급여, 최소급여, 급여합계, 평균급여를 급여합계 큰순으로 출력

 

1
2
3
4
5
6
7
SELECT department_id, MAX(salary) 최대급여,
MIN(salary) 최소급여,
SUM(salary) 급여합계,
ROUND(AVG(salary)) 평균급여
FROM employees
GROUP BY department_id
ORDER BY 급여합계 DESC;
cs

 

 

 


 

  • employees 테이블에서 부서별, 직업별(job_id), 상사번호(manager_id)별로  그룹을 지어 salary 합계와 그룹별 직원의 숫자를 출력

 

1
2
3
4
5
6
7
8
SELECT department_id 부서번호,
job_id 직업,
manager_id 상사번호,
SUM(salary) 월급합계,
COUNT(*) 직원수
FROM employees
GROUP BY department_id, job_id, manager_id
ORDER BY 부서번호;
cs

 

 

 

 


 

 

  • 부서별로 최고 월급을 뽑아서 평균을 내고, 최저 월급 또한 평균을 내어 출력

 

1
2
3
4
SELECT ROUND(AVG(MAX(salary))) 부서별최고월급평균,
ROUND(AVG(MIN(salary))) 부서별최저월급평균
FROM employees
GROUP BY department_id;
cs

 

 

 

 

 


 

 

  • 직종별 평균 월급이 $10000을 초과하는 직종에 대해서 job_id와 월급여 합계를 조회. 어카운트 매니저 (AC_MGR)은 제외하고 월 급여 합계로 내림차순 정렬

 

1
2
3
4
5
6
SELECT job_id 직종, SUM(salary) 월급여합계
FROM employees
WHERE job_id NOT IN ('AC_MGR')
GROUP BY job_id
HAVING AVG(salary) > 10000
ORDER BY 월급여합계 DESC;
cs

 

 

 


 

 

  • 부서번호 40을 제외한 부서별 평균 급여가 7000이하인 부서들의 평균 급여를 출력

 

1
2
3
4
5
SELECT department_id 부서번호, ROUND(AVG(salary)) 평균급여
FROM employees
WHERE department_id NOT IN ('40')
GROUP BY department_id
HAVING AVG(salary) <= 7000;
cs

 

 

 


 

 

  • 직종별로 월급의 합계가 13000이상인 직종을 출력. 급여총액으로 내림차순 정렬하고 직종(job_id)에 'REP'들어있는 직종은 제외

 

1
2
3
4
5
6
SELECT job_id, SUM(salary) 급여총액
FROM employees
WHERE job_id NOT LIKE '%REP%'
GROUP BY job_id
HAVING SUM(salary) >= 13000
ORDER BY 급여총액 DESC;
cs

 

 

 

'Learning > SQL' 카테고리의 다른 글

조인 (JOIN) - 비 동등조인  (0) 2020.06.17
조인 (JOIN) - 동등조인  (0) 2020.06.17
DECODE 함수, CASE 함수  (0) 2020.06.16
NULL 관련 함수  (0) 2020.06.16
변환형 함수  (0) 2020.06.16

 

<DECODE 함수>

 

  • DECODE: 조건에 따라 데이터를 다른 값이나 컬럼 값으로 추출

    • DECODE (value, if1, then1, if2, then2...)

      • value값이 if1일 경우 then1 값을 반환,

      • value값이 if2일 경우 then2 값을 반환

 

1
2
3
4
5
6
SELECT last_name 이름, job_id, salary,
    DECODE(job_id, 'IT_PROG', salary*1.10,
                   'ST_CLERK', salary*1.15,
                   'SA_REP', salary*1.20,
                            salary) 수정월급
FROM employees;
cs

 

 

 

 

 

<DECODE 함수 예제>

 

  • employees 테이블에서 DECODE 함수를 이용하여 월급에 따른 세율 출력

 

 

 

1
2
3
4
5
6
7
8
9
10
SELECT last_name 이름, job_id 직무, salary 월급,
    DECODE(TRUNC(salary/2000), '0''0.00',
                              '1''0.09',
                              '2''0.2',
                              '3''0.3',
                              '4''0.4',
                              '5''0.42',
                              '6''0.44',
                              '0.45') 세율
FROM employees;
cs

 

 

 

 

 


 

 

 

<CASE 함수>

 

  • CASE: DECODE함수가 제공하지 못하는 비교연산의 단점을 해결할 수 있는 함수

    • 조건 연산자를 모두 사용

    • CASE함수는 IF, THEN, ELSE 구문과 비슷

    • WHEN다음에 여러 조건이 올 수 있음

 

1
2
3
4
5
6
7
SELECT last_name 이름, job_id, salary,
    CASE WHEN salary < 5000 THEN 'Low'
         WHEN salary < 10000 THEN 'Medium'
         WHEN salary < 20000 THEN 'Good'
         ELSE                      'Excellent'
    END "급여 수준"
FROM employees;
cs

 

 

 

 

 

 

 

 

<CASE 함수 예제>

 

  • employees 테이블에서 job_id가 IT_PROG라면 employee_id, first_name, last_name, salary를 출력하되 salary가 9000이상이면 '상위급여', 6000과 8999사이면 '중위급여', 그 외는 '하위급여'라고 출력

 

1
2
3
4
5
6
7
SELECT employee_id, first_name, last_name, salary,
    CASE WHEN salary >= 9000 THEN '상위급여'
        WHEN salary >= 6000 THEN '중위급여'
         ELSE                      '하위급여'
    END "급여등급"
FROM employees
WHERE job_id = 'IT_PROG';
cs

 

 

 

'Learning > SQL' 카테고리의 다른 글

조인 (JOIN) - 동등조인  (0) 2020.06.17
집계 함수 (그룹 함수)  (0) 2020.06.16
NULL 관련 함수  (0) 2020.06.16
변환형 함수  (0) 2020.06.16
날짜형 함수  (0) 2020.06.15

+ Recent posts