본문 바로가기
Back-End/🐬MySQL (RDBMS)

[MySQL] 데이터 조회(4) - 조건별 데이터 별칭 설정하기 (alias , concat , case) - BMI 계산해보기!

by 코딩하는 동현😎 2022. 5. 9.

실습을 위해 초기화(클릭)

 

[MySQL] SELECT 문으로 데이터 조회(1) - WHERE 조건문 기초

실습을 위해 초기화 먼저 데이터베이스를 생성해줍니다! 이름을 기업 느낌나게 쿠팡으로 할까요? 번개 표시를 눌러서 실행시켜주고, 동기화 버튼 누르면 스키마에 적용이 됩니다. 그다음에 아

konkukcodekat.tistory.com

이 포스트를 이미 보시고 실습 하신 분은 할 필요없습니다.

이 포스트를 안보신분은 이 포스트에서 앞부분에 실습 초기화를 해주세요!


1. 칼럼 데이터에 별칭 짓기(alias)

===========문법===========

SELECT 속성 AS 별칭 , ..... FROM

 

SELECT 속성 부분에서 속성이나 수학식 옆에 AS 별칭을 추가해주면 출력할때 열 이름이 별칭으로 바뀝니다.

영어를 키와 몸무게로 바꿔주고, 키와 몸무게가 NULL이 아닌것만 출력해 봅시다.


2. CONCAT으로 각 객체의 데이터 형식을 설정하기

concat의 의미는 '연결하다'인데요, 각 속성과 임의의 별칭을 연결할 수 있습니다.

CONCAT( arg1 , arg2 , .....)

concat 함수로 height + cm, + weight + kg으로 연결해서 이 형식으로 출력하도록 설정했습니다.

별칭은 키와 몸무게로 했는데, 별칭에 공백이 있으면 꼭 ''를 사용해야합니다!

그리고 각 속성의 별칭은 as로 설정할 수 있습니다.

그리고 밑에는 BMI 공식인데요, 그래도 공식을 속성으로 출력하면 보기 안좋기 때문에 as를 이용해서 BMI로 설정했습니다.


3.단순 CASE 문 (등호 = 연산만 가능)

case문은 SELECT 바로 뒤에 삽입합니다.

순서 : SELECT 속성1 , 속성2 , CASE~END FROM  , 속성 테이블이름 ......

WHEN 에는 조건이 들어오고  , THEN에는 결과가 오지만,

단순 case문은 CASE 속성 으로 설정을해서 조건문이 아니라 결과만 작성합니다.

그 외의 경우는 ELSE로 처리합니다.

그래서 등호 연산 밖에 안되죠

CASE 속성 
	WHEN 값 THEN 값
    WHEN 값 THEN 값
    WHEN 값 THEN 값
    ELSE 값
END


CASE도 하나의 열이기 때문에 AS를 붙일 수 있습니다!


3.검색 CASE 함수

검색 CASE는 상세한 조건을 걸수 있다는 장점이 있고, 선언 위치 등등은 다 같습니다.

CASE 
  WHEN 조건1 THEN 값
  WHEN 조건2 THEN 값 
  WHEN 조건3 THEN 값 
  ELSE 값
END AS 별칭

 

obcitiy_check라는 새로운 열을 만들어서 케이스문을 사용한 모습입니다.

정렬은 저번 포스트에서 설명했듯이 where 뒤에 오는것이 원칙입니다.

where이 없으니 맨 마지막에 위치하고, ASC : 오름차순 , DESC : 내림차순

사전식 순서로 내림차순으로 정렬됩니다. (알수없음, 과체중 , 정상중에서 앞글자의 가나다 순으로 보면 정상이 후순위로 먼저 출력됨. 저체중은 한명도 없었습니다)

반응형

댓글