안녕하세요
오늘은 SQL에 대해 배워보겠습니다.
SQL? 흔히 쿼리라고 하죠. 이 언어는 데이터베이스에 데이터 입출력, 수정삭제, 데이터 가공과 조작 이런 것에 특화된 언어입니다. 정처기 공부할때 봤던 DCL, DML, DDL 이런 것들입니다.
그래서 SQL을 잘 작성하면 데이터를 내 맘에 맞게
- 출력하고
- 넣고
- 지우고
- 수정하고
씹고뜯고맛보고 즐기고
할 수 있습니다.
그래서 이거 4개만 배우면 SQL 끝인데, 이거 뿐만 아니라 실은 깊게 들어가면 프로그래밍 언어처럼 조건문, 반복문, 변수 만들기 등 많은 것을 할 수 있지만 오늘은 가장 중요한 출력과 정렬을 배워보겠습니다.
SELECT 문법
SELECT 컬럼명 FROM 스키마.테이블명
아직은 기초적인 내용이기 때문에 나중에 좀 헷갈리는 것, 어려운 것 위주로 자세하게 배우겠습니다.
ORDER BY 문법
다음으로 출력결과 정렬입니다.
데이터를 정직하게 출력만 하는 사람은 아무짝에 쓸모가 없습니다.
데이터를 다룬다? 좀 자극적으로 데이터들을 가공해서 사람들을 농락하는 그런 것들도 필요합니다.
데이터출력과 정렬은 기본중에 기본입니다.
SELECT 컬럼명 FROM 테이블명 ORDER BY 컬럼명 (ASC/DESC)
ASC는 오름차순이고, DESC는 내림차순으로 정렬해줍니다.
여기서 잠깐 집고 넘어가자면, 나중에 배울 내용이긴하지만 SQL에 ROW_NUMBER 라는 것이 있습니다.
이게 데이터들을 세그먼테이션으로 분류해서 정렬된 순서를 기준으로 고유한 값을 반환하는 윈도우 함수인데(나중에 자세하게 알아보도록 하겠습니다.) 지금은 이정도만 알아두셔도 좋을 것 같습니다.
이게 보통 WHERE 절과 다같이써서 MAU(월간 이용자 수)를 구해서 처음과 마지막 사용자가 누구인지 판별할때 많이 사용합니다.
암튼 뭐 그렇습니다.(왜 여기까지 왔지?) ORDER BY는 중요합니다.
SELECT * FROM 테이블명 ORDER BY 컬럼1 ASC, 컬렴2 DESC;
그리고 컬럼1 순으로 정렬 후 그다음 컬럼2로 정렬하고 싶으면
컬럼1 ASC/DESC,
컬럼2 ASC/DESC
…
계속 뒤에 추가하면 됩니다.
내가 보려고 만든 🍯 팁 csv를 DBeaver에서 테이블로 가져오기
- csv 파일을 다운 받는다.
- 데이터가져오기
- 가끔 csv가 한글이 있으면 깨지는 경우도 있어서 인코딩 형식으로 ‘euc-kr’로 바꿔야 한글이 안깨집니다.
- 스키마와 테이블명 설정해주면성-공!
원하는 행만 필터링 할 수 있는 WHERE 문법
출력되는 행이 너무 많다면,
필요한 행만 골라서 필터링 할 수 있는 WHERE 문법이 있습니다.
SELECT 컬럼명 FROM 테이블명 WHERE 조건식
이런식으로 쓸 수 있습니다.
조건식 자리에는 컬렴명 = ‘값’ 이런 식으로도 넣을 수 있는데,
저는 ‘강원도_관광숙박업_현황’ 테이블에서 ‘시군구명’이 ‘속초시’인 것만 필터링 갈겨보도록 하겠습니다.
SELECT * FROM 강원도_관광숙박업_현황 WHERE 시군구명 = '속초시';
챠란🐣
컬렴명에는 따옴표(’’) 안써도 되는데 ‘문자’ 값은 따옴표 안에 적어야합니다.
SELECT * FROM 강원도_관광숙박업_현황
WHERE 지하층수 BETWEEN 3 AND 5
ORDER BY 지하층수 DESC;
나는 지하층수가 3층 이상 5층이하 이런걸 필터링 하고싶으면
컬렴명 BETWEEN 3 AND 5 쓰면 됩니다.
ㄱ
ㅜ
ㅅ
'DI(Digital Innovation) > DataBase & SQL 뽀개기' 카테고리의 다른 글
서브쿼리 뽀개기 (0) | 2024.02.19 |
---|---|
푸바오가 알려주는 컬럼 출력시 사칙연산 & 문자를 다루는 함수 (0) | 2024.02.19 |
국가 권력급 집계함수로 통계내기 (0) | 2024.02.19 |
WHERE 완벽정리 (0) | 2024.02.19 |
DB 시작 (0) | 2024.02.07 |