SQL

AS, 산술연산

Bordercolli 2023. 8. 14. 16:59
728x90

Alias

결과테이블의 컬럼명을 별칭하고자 할때 사용된다. 주의점은 출력되는 결과에 컬럼명만 일시적으로 변경할 뿐 실제 컬럼명이 변경되는 것은 아니다.

컬럼명을 입력하는 것이라서 입력시 문자열로 입력된다.

사칙연산 덧셈 내용들을 살펴본다.

이러면 컬럼명이 1+1로 출력되는 것을 확인할 수 있다.

여기서 Alias를 사용해보면

이처럼 출력 테이블의 컬럼명을 ALIAS를 통해서 변경할 수 있다.

만약 '1 더하기 1' 처럼 띄어쓰기가 들어가는 컬럼을 지정하고 싶으면 따옴표를 사용해야 하지만, 띄어쓰기를 사용하지 않을 경우는 즉 한 단어로 쓰고자 하는 경우는 그냥 작성해도 된다.

SUBJECT테이블에서 중복을 제거하고 학과번호을 학과이름으로 컬럼명을 바꿔보자. (스스로 해보기)

 

기존 컬럼 (학과번호)의 컬럼명이 변경되었는지 다시 확인해보자.

학과이름이 아니라 학과번호 기존 그대로 사용하는 것을 볼 수 있다. 이처럼 기존의 데이터 정보는 변경되지 않았다.

 

student테이블에 연락처를 휴대폰 번호로 변경하도록 한다. (스스로해보기)

 

Alias 사용없이 띄어쓰기만을 사용해서 별칭 사용이 가능하다.

컬럼을 여러개 출력하면서 일부는 별칭을 사용하고 싶은 경우 ▽

이번에 산술연산은 테이블의 데이터를 가지고 연산하는 방법이다.

기존 테이블에서 금액 컬럼의 모든속성들에 *2를 수행해보자.

두 배가 된 테이블을 확인해볼 수 있다.

 

가정: tuition테이블에서 오류가 발생하여서 매년 등록금에 50만원 정도가 누락되어 표기되었다. 이런 경우 각 연도별로 등록금을 50만원씩 추가를 해줘야한다. 그 추가한 테이블을 다시 재작성해보자.

테이블 내의 행 데이터간에 행 연산을 수행할 수 있고, 마찬가지 방법으로 테이블내 열데이터 간에도 연산을 수행할 수 있다.

 

grade테이블에서 졸업하는 학생들의 학점을 구하고자 한다고 가정해보자. 

일부 학생들은 아직 4학년까지 마치지 않은 상태인 것을 확인할 수 있다.

조기졸업하는 학생은 없다고 가정하고 4학년 2학기까지 끝낸 학생들의 졸업 학점을 계산해보자

 

Solution: 모든 학기 학점을 더해서 다 더한 다음에 8로 나누면 된다. 그런데 이 연산결과가 null이라면 학생의 성적 정보가 누락된 부분이 있다는 것을 의미하니 졸업 대상이 아님을 알 수 있다.

 

해석: grade테이블에서 학번과 졸업학점을 출력할건데, 졸업학점에는 1학년 1학기부터 4학년 2학기까지 성적을 모두 더하고 /8을 한다. 그리고 그 더한 값에 조건문 WHERE을 넣어서 NULL값이 아닌 것만 출력해달라.

WHERE 뒤에 긴 연산을 적기보다는 '졸업학점'만 적어도 출력이 가능하다.

 

조건문을 넣지 않는다면 아래와 같이 빈 값도 함께 출력된다. 

 

 

정리:

1. Alias는 테이블의 컬럼명을 별칭할 때 사용되며, 실제 데이터 테이블에 컬럼명의 데이터 테이블을 변경하지 않는 것을 확인할 수 있다.

2. 산술연산에서는 테이블 내 행과 열의 연산이 가능함을 확인해 볼 수 있었다.

 

'SQL' 카테고리의 다른 글

BETWEEN, IN, LIKE  (0) 2023.08.16
연결연산자, 논리연산자  (0) 2023.08.16
SELECT, DISTINCT, ORDER BY  (0) 2023.08.14
Frontend와 Backend란?  (0) 2023.08.14
PHP + MySQL 서버 세팅으로 웹 페이지 만들기 (오류로 잠시 중단)  (1) 2023.08.14