코드스테이츠/코드스테이츠 @ 개발 복습

[코드 스테이츠] 90일차, "13주차 복습 (1)"

Je-chan 2021. 10. 16. 21:54


[ 오늘의 TODO ]

  1. 코드 스테이츠) 월~수 내용 복습
    // im-sprint-learn-sql 복습
  2. 패스트 캠퍼스) 인강 3개 이상 듣기 // optional
  3. 스터디 그룹) 프로그래머스 문제 풀기
  4. 생활) 물 1L 이상 마시기
  5. 생활) 1시간 이상 걷기

 


[ 오늘의 복습 ]

  기본적인 명령어는 저번 주 기술 블로깅에 모두 해놨으므로 개념에 대해서는 자세히 다루지 않고 어떻게 사용하는지 코드 스테이츠 자료를 기반으로 많이 알아보도록 한다. 

 

  사용할 데이터베이스는 아래의 사이트에서 wolrd.db 를 사용한다.

https://dev.mysql.com/doc/index-other.html

 

MySQL :: Other MySQL Documentation

Other MySQL Documentation This page provides additional documentation. There's even more available on these extra pages: MySQL Server Doxygen Documentation Title HTML Online MySQL Server (latest version) View Expert Guides Language Title Version HTML Onlin

dev.mysql.com

 

위 데이터베이스의 schema 구조

1. SHOW, DESC 

  데이터베이스에 존재하는 모든 테이블 정보를 보고 싶을 때는 SHOW statement 를 사용하고, 한 테이블의 구조를 보고 싶을 땐 DESC 혹은 DESCRIBE statement 를 사용하면 된다.

 

SHOW databases 
	// 현재 존재하는 데이터베이스들을 모두 보여준다
USE world 
	// world 라는 이름의 database 를 사용한다. 
SHOW tables 
	// world 데이터베이스에 존재하는 모든 테이블 정보를 보여준다
DESC city (혹은 DESCRIBE city)
	// world 데이터베이스 내부에 존재하는 cities 테이블 구조를 보여준다
    // 구조를 보여주는 거지 내용을 보여주는 것이 아님을 주의

 

SHOW tables의 결과
DESC city 의 결과

 

2. SELECT, FROM, WHERE

  SELECT 뒤에 컬럼 이름을 적어서 컬럼 데이터를 가져온다.

  FROM 뒤에 테이블의 이름을 적어서 어느 테이블에서 데이터를 가져올 지 적는다

  WHERE 뒤에 조건을 달아서 조건에 해당하는 데이터만을 가져오게 한다.  

SELECT * FROM city
	// city 테이블에 존재하는 모든 컬럼의 모든 데이터를 확인할 수 잇다.
    
SELECT c.Name FROM city AS c
	// city 테이블을 c 라 하고 c 테이블의 Name 컬럼의 데이터를 확인할 수 있다.
    
SELECT c.Name FROM city AS c WHERE c.Name = 'Seoul'
    // 컬럼 데이터 중 이름이 Seoul 인 결과물만 가져온다.
    
SELECT * FROM countrylanguage WHERE countrylanguage.language = 'Korean'
    // countrylanguage 데이터 중,langugae 컬럼의 데이터 캆이 'Korean'인 것만 가져온다.

c.Name = 'Seoul'
countrylanguage.language = 'Korean'

 

3. (INNER) JOIN / LEFT (OUTER) JOIN / RIGHT (OUTER) JOIN

  모든 join 종류는 on 뒤에 따라 나오는 조건에 맞춰서 두 테이블의 데이터를 하나로 합쳐준다.

 

 

SELECT c.Name, cl.percentage 
FROM city AS c 
JOIN country AS co 
ON c.countryCode = co.Code 
JOIN countrylanguage AS cl 
ON co.Code = cl.countryCode
WHERE cl.language = 'Korean'

// SELECT 에서 여러 컬럼을 열람할 수 있다.
// 단, 조인을 하게 되면 여러 테이블이 섞이게 되므로
// " 테이블명.컬럼명 " 으로 작성해서 꼭 구분해주도록 한다.

 

 

위의 명령어를 일부만 발췌하였음