[MYSQL] 기본 문법(1) - SELECT 문
오늘은 SQL 기본 문법에 대해 알아보도록 하겠습니다
DB 테이블은 필드라고 불리는 더 작은 엔티티들로 쪼갤 수 있습니다.
한 테이블은 여러개의 엔티티들로 구성되어있는 것이죠
https://www.w3schools.com/sql/default.asp
SQL Tutorial
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
위의 링크로 들어가면 이미 생성되어있는 Customers 테이블로
간단한 SQL 문 테스트를 해볼 수 있습니다.
Run SQL을 누르면 아래처럼 SQL 문의 결과를 볼 수 있는데요,
위의 결과를 확인하면 Records의 갯수와
SQL문의 결과를 나타낸 테이블을 확인할 수 있습니다.
여기서 Records는 row를 뜻합니다. 테이블의 행의 갯수인 것이죠.
record는 테이블의 row라고도 불리며, 테이블에 존재하는 개별 항목을 의미합니다.
앞서 필드에 대해 언급했는데 Fields는 column을 뜻합니다.
각 행(row)의 정보들을 담고 있는 것이 column이라고 할 수 있습니다.
지금부터는 SQL 문의 가장 기본이 되는 명령어에 대해 배워보도록 하겠습니다.
1. SELECT
우선 SELECT 문은 DB 테이블에서 원하는 정보를 검색할 때 사용하는 문법입니다.
흔히 CRUD라고 알고있는 것 중 Read에 해당합니다.
SELECT 문을 이용해 추출된 데이터들은 result-set이라고 불리는
결과 테이블에 저장된 후에 return됩니다.
즉 테이블의 결과를 조회한 후 다시 테이블의 형태로 만들어 보여주는 것이죠.
SELECT 문의 형식은 아래와 같습니다.
SELECT column1, column2, column3, .... FROM "테이블 명" ;
여기서 column1,2,3,... 은 앞서 설명한 필드를 의미합니다.
위와 같이 사용한다면 원하는 컬럼의 값을 추출할 수 있습니다.
전체 테이블의 데이터를 조회하고 싶을 때는 아래와 같이 사용합니다.
SELECT * FROM "테이블 명" ;
그렇다면 테이블 안에 중복된 데이터가 있을 경우
이 중복 데이터를 제거하고 볼 수 있는 방법은 무엇일까요?
바로 DISTINCT를 사용하는 것입니다.
" SELECT DISTINCT "
이를 사용하면 중복된 키워드가 제거된 데이터를 가져올 수 있습니다.
위의 링크로 들어가서 DISTINCT를 사용하여
도시에 대한 데이터를 가져오도록 하겠습니다.
캡쳐하면서 아래 결과는 잘렸지만
레코드 수를 보니 맨 처음에 가져왔던 레코드 수 91개에서
69개로 줄어든 것을 확인할 수 있었습니다.
위의 W3school 링크를 통해서 결과를 조회한다면 레코드 수를 통해
데이터의 총 행을 알 수 있지만 일반적으로 사용하는 DB 툴에서는
기본적으로 행의 수를 알려주지 않습니는다.
이럴 때 사용하는 문법이 COUNT 입니다.
사용법은 아래와 같습니다.
SELECT COUNT(컬럼 명) FROM "테이블 명";
행의 수를 조회하고 싶은 컬럼 수를 COUNT 다음에 괄호 안에 넣어주면 됩니다.
혹은 전체 행의 수를 알고 싶을때는
괄호 안에 1을 넣으면 테이블의 전체 행 수를 알 수 있습니다.
SELECT COUNT(1) FROM "테이블 명";
아래는 위에서 조회했던 City 컬럼에 대한 행 수를 COUNT를 사용해 조회한 결과입니다.
이번 시간에는 SQL 문의 가장 기초인 SELECT 문
그리고 SELECT 문과 함께 사용하는 DISTINCT, COUNT에 대해 알아보았습니다.
CRUD의 Read에 해당하는 SELECT.
다음 시간에는 나머지 UPDATE, DELETE, INSERT에 대해 알아보도록 하겠습니다.