본문 바로가기
데이터분석 교육 (제로베이스)

[스터디 노트] 2번째 SQL (240907), 제로베이스 데이터 분석 스쿨 내용

by davidlds 2024. 9. 7.
반응형

제로베이스 데이터 분석 스쿨 내용에 대한 기록이다.

SQL 2번째.

 

그리고 오늘 직무 특강에서 SQL도 프로그래머스로 연습이 가능한걸 알게 되었다.

데이터 분석가로 취업할 때 테스트를 보며 3~5레벨은 달성해놓는 것이 좋다고 한다.

 

[Logical operators]

  • 논리 연산자
  • 결과를 bool로 리턴
  • AND, OR
  • NOT: 조건 만족하지 않을때 TRUE
  • BETWEEN: 조건값이 범위 사이에 있을때 TRUE
  • IN: 조건값이 목록에 있으면 TRUE
  • LIKE: 조건값이 패턴에 맞으면 TRUE
  • AND가 OR보다 먼저 적용
  • 괄호 사용하면 우선순위 수정 가능
  • NOT 사용
    • select * from celeb where not sex='F';
    • select * from celeb where (agency='YG엔터테이먼트' and not sex='M') or (job_title='가수' and not agency='YG엔터테이먼트');
    • select * from celeb where (birthday>19901231 and not sex='F') or (birthday<19800101 and not agency='안테나');
  • BETWEEN 사용
    • select * from celeb where age between 20 and 40;
    • 범위는 이상, 이하로 해당 숫자 포함이며, and로 대체 가능
    • select * from celeb where age>=20 and age<=40;
    • not 같이 사용하려면 between 앞에 적은 컬럼보다 앞에 not
    • select * from celeb where (not birthday between 19800101 and 19951231 and sex='F') or (agency='YG엔터테이먼트' and not age between 20 and 45);
  • IN 사용
    • select * from celeb where age in (28, 48);
    • or로 대체 가능
    • select * from celeb where age=28 or age=48;
    • select * from celeb where not agency in ('나무액터스', '안테나', '울림엔터테이먼트') and (sex='F' or age>=45);
  • LIKE 사용
    • select * from celeb where agency like 'YG엔터테이먼트';
    • =로 대체 가능
    • select * from celeb where agency='YG엔터테이먼트';
    • 퍼센트 (%)
    • 원하는 부분이 일치하는 데이터
    • select * from celeb where agency like 'YG%';
    • select * from celeb where agency like '%엔터테이먼트';
    • select * from celeb where job_title like '%가수%';
    • 언더바 (_)
    • 두번째 글자가 G 인 데이터
    • select * from celeb where agency like '_G%';
    • 가 로 시작하고 최소 2글자 이상인 데이터
    • select * from celeb where job_title like '가_%';
    • 영 으로 시작하고 모델로 끝나는 데이터
    • select * from celeb where job_title like '영%모델';
    • 영화배우, 텔런트 병행 데이터
    • select * from celeb where job_title like '%영화배우%' and job_title like '%텔런트%';
    • 직업이 하나 이상, 영화배우 혹은 텔런트가 아닌 데이터
    • select * from celeb where job_title like '%,%' and not (job_title like '%영화배우%' or job_title like '%텔런트%');

 

깃허브 링크

 

깃허브 SQL 공부 부분 링크

반응형