25.02.21 TIL

황효정·2025년 2월 21일

데이터 분석

목록 보기
3/88

제목 : [캠프 5일차] + 오늘의 학습 키워드
1. 오늘 학습 키워드, 내용을 나만의 언어로 정리하기
예제로 익히는 sql
뭘 보고 싶다=select(열, 컬럼, 필드). 어떤 걸 보고 싶냐가 select[필자 입장에서는 다시한번 정리하는 시간이 됨.]
-distinct: 중복없이 컬럼조회 ex)select distinct 컬럼이름
select count(distinct 컬럼)= 컬럼을 중복없이 조회하는데 그게 몇개인지 세줘. 라는 뜻

-case when: (조건을 만족할 때)새로운 컬럼을 만들어주는 것
case when 조건식1 then 결과1 ->조건식1을 만족하면 결과1을 주고,
when 조건식2 then 결과2 ->조건식1을 만족하지 못한 값들에서 조건식2를 만족하면 결과2값을 주고,
when 조건식3 then 결과3 ->조건식2를 만족하지 못한 값들에서는 조건식 3을 만족하면 결과3값을 줘라.
Else 결과4 ->위의 조건식1,2,3을 다 만족하지 못했을 때는 결과4로 주기. end as 새로운 컬럼이름 -> 새로운 컬럼 이름 만들어주기
from 테이블명
정리해보자면
select case when 조건식1 then 결과1
when 조건식2 then 결과2
when 조건식3 then 결과3
else 결과4
end as 새로운 컬럼이름
from 테이블명
(when이 더 늘어날 수도, 줄어들 수도 있음)

-조건문을 지원하는 연산자.
where, case when 조건문은 다양한 연산자를 지원함.
(오늘 처음 안 연산자들 정리)

  • !=, A!=1, A가 1이 아닌 값
  • LIKE, Like(%과자), Like는 비슷한 값을 가져오라는 의미로 '과자'라는 단어 앞에 어떤 단어가 오든 뒤에 '과자'가 붙으면 모두 가져오라는 의미. 예를 들어 like(%놀이%)라고 한다면 '놀이' 라는 단어가 포함된 모든 값을 가져오라는 뜻이다.
  • not=! , notA=!A, A가 아닌 값. 이라는 뜻
  • IN은 정확한 값을 이야기함. 정확하게 일치해야 한다는 것임. A in B 라고 했을 때 B에 A가 포함된 값. ex)where name in('김채영')=정확하게 이름이 김채영. 일치해야 함.
  • is null: 비어있는 값. null이라는 단어 자체가 무효의, 없는 이라는 뜻임. 값, 데이터가 없다고 생각하면 됨. 비어있음.
  • is not null: 마찬가지로 비어있지 않는 값. 이라는 뜻임.

-order by구문은 특정 열을 기준으로 결과값을 출력 할 때 사용됨.
기본값은 오름차순(asd)임. 사실 오름차순 정렬할 거면 굳이 order by구문 쓰지 않아도 된다고 함.(얘는 직접 디비버에서 시험해보기)
암튼 내림차순은 컬럼 뒤에 desc써주면 됨.
또한 여러 컬럼을 사용할 수도 있는데, order by와 가까울수록(바로 뒤에 올수록, 순서가 처음일수록) 정렬 우선순위가 높다는 것.

ORDER BY 다중조건
날짜를 내림차순으로 우선 정렬하고, 날짜가 같다면! 나이를 기준으로 오름차순 정렬
select 날짜, 이름, 성별, 나이, 직업
from basic.theglory
order by 1 desc, 4 ASC; (숫자는 열 순서임.)

  1. 학습하며 겪었던 문제점 & 에러
  • 문제&에러에 대한 정의
    일단 my sql까는것 정말 쉽지 않았음. 데이터베이스 파일을 다운받아서 새로만든 basic파일에 까는것도 쉽지 않았음. 연산자를 euc-kr로 바꿨지만 한글파일이 깨짐.
  • 내가 한 시도
    조원들에게 해결방법 구해보기, 튜터님 찾아가기
  • 해결 방법
    깨진 파일을 아예 삭제하고 다시 설치하면 됨.
  • 새롭게 알게 된 점
    삭제하고 설치하자. 그게 깔끔하고 빠르다.
  • 이 문제&에러를 다시 만나게 되었다면?
    이번에 이 문제로 쩔쩔매면서 어떻게 하는지의 과정을 겪어보았기 때문에 다음에는 더 수월하게 깔 수 있을 것 같다.
  1. 내일 학습 할 것은 무엇인지
    내일은 숙제3번 풀기, 코드카타1번 풀기, 이후의 코드카타 3,4번 풀어보기, 아티클 읽고 요약, 강의 3강 수강하기.
  2. 오늘의 일기
    오늘은 정말,,, 진땀을 많이 뺐다. 프로그램 하나 하나 설치하는게 왜이리 어렵고 복잡한건지,, 마치 내가 컴퓨터를 처음 배운사람 같았다. 프로그램을 설치해도 잘 작동하지 않아서 또 왜 작동하지 않는지 살펴보고, 프로그램 까는것도 안되가지고 오늘 튜터님을 각각 총 3분이나 만났다.ㅎㅎㅎ 긍정적인 점은 튜터님들과 이야기를 해볼 수 있다는 점이랄까. 다들 친절하게 잘 알려주시고 너무 진땀빼니까 괜찮냐고 물어주시면서 나뿐만 아니라 다른 많은 사람들도 프로그램 설치하는 것부터 와서 물어보았다고 이야기 해주셨다. 되게 위로가 되었다. 또 다른 조 분들이 놀러와서 내가 강의 3강 듣고있다고 하니 그분들 조에도 3강 들으시는 분들 계시다고 해서 되게,,, 안도감이 들었던,, 시간이었다. 진짜 이거는 본인이 얼마나 더 열심히 공부하고 얼마나 알려고 하는지. 좀 내 생각에는 코드카타나 이런 문제들을 많이 풀어보고 코드도 계속 연습해봐야 늘 것 같다. 오늘 하루가 어떻게 지나갔는지 진짜 모르겠다. 발표 듣고 이야기하고 프로그램 깔고 문제풀다보니 하루가 뭉텅 지나가버림.. 나는 무조건 내일도 공부해야 한다. 주일에 일주일 회고해보면서 앞으로 어떻게 할지 방향을 잡아가봐야겠다. 그리고 우리 23조.. 너무 다들 좋은데 벌써 이별이라니 너무 아쉽다. 사실 이분들덕분에 계속 가야겠다고 마음먹기도 했는데, 다음조도 좋은분들 만날 수 있기를..
    이렇게 공부하다가 끝이올때는 여름이라니! 상반기 시간을 알차게 보낼 수 있기를! 화이팅이다!!`

#내일배움캠프 #캠프 #TIL

profile
청지기

0개의 댓글