멋사 Backend 27일차 🦁 AI / 데이터 (SQL) 특강

신재원·2023년 5월 25일

🤖 AI 특강

AI 라는것이 현재로부터 7년전부터 유행했으며, 적성에 맞지않는 유행을 따라가지 않았으면 한다고 합니다.

  • 현재는 챗 GPT 와 구글의 Bard 기업간의 전쟁아닌 전쟁 중입니다.
  • AI 직군은 일반 학사 보다는 석사를 원하는 경향이 있습니다.
    (특강 강사님도 석사 졸업)

📢 데이터 (SQL) 특강

  • 제코배 (제주코딩베이스캠프 위니브 테크 리드 소속) 강사님이 진행해주셨다.
  • 구글의 BigQuery로 실습하였다.

👀 실무에서는 MySql DBMS를 많이 사용하며,
백엔드 개발자는 성능 최적화 / 테이블 설계 두가지를 많이 합니다.

SELET, WHERE

SELECT : 원하는 정보를 추출하기위해 사용
WHERE : 조건에 맞는 결과만 갖도록 데이터를 필터 조건을 작성

AS, LIMIT

AS : 별칭을 주어 접근하는데 사용
LIMIT : 결과에서 몇개의 행을 보여줄 지 선택

AND, OR, IN 연산자

AND는 자바에서 && 와 같은 연산자
OR는 자바에서 || 와 같은 연산자
IN 은 특별하게 IN("", "") 로 작성할수있습니다.

GROUP BY

선택한 컬럼을 그룹핑한다.
쉽게말해 국가가 있으면 미국, 한국, 일본으로 그룹을 짓는것입니다.

HAVING

HAVING 이란 GROUP BY을 하여 그룹을 지은후, 각 그룹에 필터 조건을 작성하는 것입니다.

JOIN (가장 많이 사용)

2개이상의 테이블끼리 관계를 맺는다는 것입니다.

예시

select a.name, b.product
from user AS a JOIN product AS b ON a.id = b.id

WINDOW 함수 (잘 사용 X)

❗ 쿼리문 작성 순서

  1. from + (JOIN)
  2. where
  3. group by
  4. havging
  5. select
  6. order by
  7. limit

작성 예시

  • 국가별 20세 이하 유저수가 500명 이상인 유저수 국가 TOP 5를 조회 하는 과정입니다.

1

select count(id)
from users;

➡ 2 where 조건으로 1차 필터링

select count(id)
from users
where age <= 20;

➡ 3 국가별 (group by 추가)

select county, count(id)
from users
where age <= 20
group by country;

➡ 4 국가별 유저수 500명 추가 (as 별칭 사용)

select country, count(id) as user_count
from users
where age <= 20
group by country
having user_count <= 500;

➡ 5 국가 TOP 5를 조회

select country, 
  count(id) as user_count
from users
where age <= 20
group by country
having user_count >= 500
order by user_count desc
limit 5

번외 🍗

  • 대기업은 수직문화가 있고, 스타트업은 엄청난 일거리를 맡게되는거에 선입견을 버리셔야 합니다.

0개의 댓글