안녕하세요 ? 휘임니다
오늘도 어제와 마찬가지로 SQL 강의로 시작하는 하루입니다.
오늘은 조금 빡센 수업이었는데요
집중력을 잃지 않고 달려 과제 제출까지 무사히 완수했습니다 !
아자자.
오늘 배운 내용 간단하게 기록 시작해보겠습니다.
사용 함수 : REPLACE, SUBSTRING, CONCAT
특정 문자를 다른 문자로 바꿀 때
replace (바꿀 컬럼, 현재 값, 바꿀 값)
select restaurant_name "원래 상점명",
replace(restaurant_name, 'Blue', 'Pink') "바뀐 상점명"
from food_orders
where restaurant_name like '%Blue Ribbon%'
원하는 문자만 남기기
substring(substr) (조회할 컬럼, 시작위치, 글자 수)
select addr "원래 주소",
substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'
여러 컬럼의 문자를 합치기
붙일 수 있는 문자의 종류 : 컬럼, 한글, 영어, 숫자, 특수문자
concat(붙이고 싶은 값 1, 2, 3, ....)
select restaurant_name "원래 이름",
addr "원래 주소",
concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름
from food_orders
where addr like '%서울%'
흐름 정리
1. 어떤 테이블에서 데이터를 뽑을 것인가
2. 어떤 컬럼을 이용할 것인가
3. 어떤 조건을 지정해야 하는가
4. 어떤 함수(수식)를 이용해야 하는가
예시
[지역(시도)] 음식점이름 (음식종류) 컬럼을 만들고, 총 주문건수 구하기
구문
1.
어떤 테이블에서 데이터를 뽑을 것인가 → from food_orders
2.
어떤 컬럼을 이용할 것인가 → addr, restaurant_name, cuisine_type,order_id
3.
어떤 조건을 지정해야 하는가 → X
4.
어떤 함수 (수식) 을 이용해야 하는가 → count(1), substring(addr, 1,2),concat(’[’, 뽑은시도, ‘] ‘, restaurant_name, ‘ (’, cuisine_type, ‘)’)
합치기
select concat('[', substring(addr, 1, 2), '] ', restaurant_name, ' (', cuisine
count(1) "주문건수"
from food_orders
group by 1
사용함수 : if, case
내가 원하는 범주를 조건으로 주고, 해당 범주에 적용하고 싶은 것을 지정한다.
원하는 조건에 충족할 때 적용할 방법과 아닌 방법을 지정하기
IF(조건, 조건을 충족할 때, 조건을 미충족할 때)
select restaurant_name,
cuisine_type "원래 음식 타입",
if(cuisine_type='Korean', '한식', '기타') "음식 타입"
from food_orders
조건을 여러가지 지정하고 싶을 때
CASE when 조건 1 then 값(수식)1
when 조건 2 then 값(수식)2
else 값(수식) 3
end
select restaurant_name,
addr,
case when addr like '%경기도%' then '경기도'
when addr like '%특별%' or addr like '%광역%' then substrin
else substring(addr, 1, 2)
end "변경된 주소"
from food_orders
조건을 사용할 수 있는 경우들
1. 새로운 카테고리 만들기
2. 연산식을 적용할 조건 지정하기
3. 다른 문법 안에서 적용하기
https://brunch.co.kr/@dontgiveup/209
참고 아티클
날이 갈수록 성장하는 이가탄탄 네오2조 ...
오늘도 너무너무 흥미로운 인사이트를 나누며 함께 스터디 진행했습니다 👽
제가 작성한 내용과, 팀원들과 함께 이야기하며 나눈 의미있었던 의견 공유하며 오늘자 TIL 마치도록 하겠슴니다
[주제]
문제를 해결하는 방법 - not command , divide !
1. command and conquer에서
2. divide and conquer로
[아티클 요약]
글쓴이는 command and conquer 라는 게임을 통해 인생은 싸움으로 무언가를 정복해가는 과정이라 여겼던 어린 날을 지나,
기획운영을 하는 사람이 되어 ‘문제 해결’을 위해 무작정 달려들어 command를 날려버렸던 초기 기획자 시절에 해결되지 않는 문제에 지쳐 나가떨어지다 일의 방식에 변화를 주기 시작했다.
어떻게? COMMAND 가 아니라 DIVIDE로 !
1 의욕만 가지고는 안되는 큰 덩어리의 일을 가만히 들여다보며 본질을 찾는다.
2 본질을 찾아내어 한 문장으로 표현하고, 그것을 비슷한 유형으로 묶어 나눌 수 있는 만큼 나눈다.
3 기록을 사용해도 좋다.
4 나눈 일은 이제 순서대로 차근차근 처리한다.
5 명확하게 나눠진 태스크를 기반으로, 작은 문제를 하나씩 해결해나가다보면
6 당면한 문제를 ‘정복’할 수 있게 된다.
--
덩어리가 큰 문제는 의사전달도, 동기부여도 어렵다. 시키는 사람부터도 divide된 리스트를 가지고 시켜야한다. 작은 전투에서의 승리가 큰 승리를 부르고, 결국 conquer할 수 있어지니까.
[인사이트]
큰 덩어리의 문제는 큰 고민과 막막함을 부른다. 당연함… 문제가 커보일수록 필요한 리소스가 많게 보이니까. 하지만 나눈다면? 작은 덩어리에 딱 그 작은 덩어리를 해결할 만큼의 리소스를 붓는 것이 바로 전략 전투의 승리 요건이다. 가장 효율적인 리소스 분배로 자잘한 많은 승리를 이끌어내 결국 한 챕터를 정복해내는 것.
저자가 전략게임에 비유한 건 정말 핵심 비유라고 생각한다. 말했듯 이건 프로젝트, 프로덕트 단위에서 뿐만이 아니라 인생에도 적용되는 규칙이라는 것.
한편 ‘나누는 것’에 대해서도 생각해보게 됐는데, 큰 덩어리를 작은 덩어리로 나누는 것, 말이 쉽지 사실 가장 어려울 것이다 (쉬우면 개나소나 다 쪼개고 했겠지) … . 많은 아티클에서 언급하고 있는 것이 여기서도 등장하는데, 방법은 바로 본질에 집중하자는 것.
본질에 집중해 문제를 곧게 바라보는 통찰력은 어떻게 얻을 수 있을까? 우리는 이 능력을 기르기 위해 노력해야 할 것이다. 통찰력을 기르는 방법론에 대한 글은 지금까지는 딱히 없었던 것 같다.
이전 팀 아티클카타에서 직관을 조심해야한다고 의견을 모았었는데 나는 바로 그 직관이 필요한 부분은 이 곳인 것 같다. 직관력이라는 건 팀원들에게 내 의견을 우기기 위해 주장하는 능력이 아니라, 일을 ‘올바르게’ 쪼개고 적재적소에 팀원을 배치하는 능력. 이건 관찰력과 경험, 주변에 흔들리지 않는 단단한 심지에서 비롯되는 능력이라고 생각한다. 많은 사람들을 만나고 많은 일에 부딪쳐보며 길러봐야지.
직관에 근거가 없다는 것은 틀린 말이다. 직관의 근거는 바로 그 직관을 들이미는 ‘사람’이다. 그 사람이 어떤 사람인지가 바로 그 선택의 신빙성을 더해주니까. 또 이러면 사람들에게 신뢰를 얻기 위한 소프트 스킬이 필요해지며 …. 이전 아티클과도 연결이 …
꼬리에 꼬리를 무는 PM의 스킬. 결국 하나의 큰 원 형태의 능력 구조인 것이다. 다 잘하는 사람은 있어도 하나만 부족한 사람은 없을 것 같은 무시무시한 생각이 드는 지금 ….
나도 그런 사람이 될 수 있을까? 되려고 들어왔지 근데 뭐 어떡할거야. CONQUER …..
저 말이 너무 많죠... 저도 그렇게 생각해요
어떡해 아티클만 읽으면 할 말이 너무 많아지는데 ...
[공통 인사이트]
태스크를 명확히 하지 못하면 각자 다른 이해도를 가지고 서로 다른 문제를 해결하고 있을 수 있기 때문에, 세분화된 과제가 전체 목표에서 어떤 의미를 가지는 지 팀원들을 이해시키는 것도 중요한 역량이다. 문제를 구조화하고 팀원들에게 이해시키며 전체 목표를 그리는 것까지가 문제를 쪼개고, 해결하는 것.
[의미 있었던 의견]
똘똘이들과 함께 한 오늘도 많은 인사이트를 추가로 얻게 된 것 같습니다.
저는 개인적으로 새로운 멤버가 들어와 새로운 시각을 가지게 된 게 정말 정말 좋은데요, 오늘도 저랑 '문제'라는 개념에 대해 상반된 시각을 이야기해주셔서 더 생각해볼 수 있는 시간이 되었던 것 같아요.

이번 주는 수, 금 결석이 예정되어있는데 ... 뒤처지지않도록 나머지공부도 열심히 하며 개인적으로 TIL 올려보기가 이번주의 목표 ! 달려봅시다. 아좌좌.