멋사 ai 스쿨 TIL - (8)

eve·2022년 9월 23일
0

likeLion

목록 보기
8/45

Datarian_sql 기초

1. wildcard

% 어떤 단어가 와도 상관 없다는 의미
어떤 단어가 와도 상관 없다는 의미 (LIKE와 함께 활용)
%나
자체를 찾고 싶을 경우, escape 문자 '\'를 앞에 기입.


2. 예제

(1) 도시목록 출력

인구수가 100,000명 이상이고 국가코드가 USA인 도시의 데이터를 불러오자.

SELECT *
FROM city
WHERE population > 100000
AND countrycode = "USA"

조건을 두 개 달아서 출력해줄 때는 'AND'를 활용하면 된다.
SELECT에서는 원하는 컬럼 뿐만 아니라, 조건문이나 쿼리 자체를 입력할 수도 있다.


(2) 직원목록 출력

근무기간 10month 이하, salary $2,000인 직원들의 데이터를 불러오자.

SELECT * -- 데이터의 모든 컬럼을 불러오겠다는 의미
FROM employee --직원들의 데이터가 있는 테이블을 의미
WHERE months < 10 -- 근무기간을 나타내는 month 컬럼이 10 이하인 경우
AND salary > 2000 -- 동시에 봉급 컬럼의 값은 2,000 이상인 조건 충족
ORDER BY employee_id -- id 값 오름차순 출력 (내림차순은 컬럼명+ DESC 입력 필수)

(3) 문자열 자르기

  • LEFT : 왼쪽에서 글자 카운팅
  • RIGHT : 오른쪽에서 카운팅
  • SUBSTR : 위치지정해서 카운팅
    괄호 안 요소 2개: 시작/마지막값 세팅
    괄호 안 요소 1개: 원하는 위치에서 끝까지
SELECT name
FROM students
ORDER BY RIGHT (name, 3), id

RIGHT 옆의 괄호 내 요소에서는 원하는 컬럼명을 적고, row를 위치를 입력한다.
RIGHT 이므로, 오른쪽에서 세번째 값까지 불어오겠다는 의미이다.
id 옆에는 ASC를 따로 적어주지 않아도 정렬된다.


(4) 소숫점 처리

  • CEIL(): 올림 - 'ceiling'에서 따옴
  • FLOOR(): 내림
  • ROUND(): 반올림
SELECT ROUND(LONG_W, 4) -- LONG_W의 소숫점 4번째 자리까지 반올림
FROM station <  137.2345 -- station 테이블의 데이터 중 137.2345보다 작아야 함
WHERE LAT_N DESC -- LAT_N은 내림차순으로 출력
LIMIT 1 -- 데이터 값을 1개로 제한

(5) 중복 제거

SELECT DISTINCT(day) -- day라는 컬럼에서 중복값 제거
FROM tips -- table명은 tips
SELECT COUNT(DISTINCT day) -- day라는 컬럼에서 중복값을 제거한 데이터 갯수
FROM tips -- table명은 tips

(6) Palmer Penguin Dataset

SELECT COUNT(*) AS total -- 전체 펭귄의 수 구하기
      , COUNT(sex) AS sex_notnull -- sex 컬럼에서 성별표시 없는 펭귄의 수 구하기
      , COUNT(*) - COUNT(sex) AS sex_null -- 전체 - notnull값으로 성별 null값 구하기
FROM penguins -- table명은 'penguins'

(7) 역대 올림릭 출전 특이데이터

SELECT MIN(age) AS min_age - 출전 당시 가장 나이가 많은 선수
     , MAX(age) AS max_age - 출전 당시 가장 나이가 적은 선수
     , MAX(age) - MIN(age) AS age_diff - 나이의 갭
FROM records

(8) having

매출액 총합 계산 시 사용됨

SELECT day, SUM(total_bill) AS revenue -- 매출 총액
FROM tips -- 테이블명
GROUP BY day - 그룹핑의 기준이 되는 컬럼명
HAVING revenue >= 1,000 -- $1,000 이상 총합으로 필터링하기
ORDER BY SUM revenue DESC -- 총합 내림차순으로 정리

3. DataBase

(1) DB는 검색과 갱신으로 나뉜다

  • 늘 데이터의 총량을 확인하고 시작할 것
  • '데이터베이스 첫걸음' 참고
profile
유저가 왜 그랬을까

0개의 댓글