day 25 TIL
day25 느낀점
오늘은 데이터베이스를 완강하고 간단한 연습을 진행하였다. 프로젝트에서 사용을 할지 모르겠지만 꽤나 재미있었다. 그리고 spring 기본 annotation 정리를 마쳤다.
https://velog.io/@hongseoda/Spring-annotation-%EC%A0%95%EB%A6%AC
아직 사용에 능숙하지않지만 계속 연습하는 중이다. 내일부터는 스프링에 집중해서 공부를 진행해야겠다.
email 처리할때 유용
@를 기준으로 텍스트를 쪼개고 첫번째 조각을 가져와
ex. sparta@gmail.com
select user_id, email, SUBSTRING_INDEX(email, '@', 1) from users
-> sparta
@를 기준으로 텍스트를 쪼개고 마지막 조각을 가져와
select user_id, email, SUBSTRING_INDEX(email, '@', -1) from users
-> gmail.com
문자열 일부만 출력하기
substring(field,start,cnt): field에서 start지점에 속하는 문자부터 포함해서 cnt만큼 가져와라
created_at 예시: 2022-05-25 11:36:58
select order_no, created_at, substring(created_at,1,10) as date from orders
-> 2022-05-25
case는 if-else문과 비슷하게 사용한다.
경우에 따라 원하는 값을 새 필드에 출력할 수 있다.
select level, count(*) as cnt from (
select pu.point_user_id, pu.point,
case
when pu.point > 10000 then '1만 이상'
when pu.point > 5000 then '5천 이상'
else '5천 미만'
END as lv
from point_users pu
) a
group by lv
++ with 절
with table1 as (
select pu.point_user_id, pu.point,
case
when pu.point > 10000 then '1만 이상'
when pu.point > 5000 then '5천 이상'
else '5천 미만'
END as lv
from point_users pu
)
select level, count(*) as cnt from table1
group by lv
sql 재밌죠 ㅎㅎㅎ 꼭 프로젝트 아니더라도 나중에 개발자 취업하셔서 실무에 많이 쓰실 거예요!