5.1.2 SELECT와 FROM의 의미
데이터를 조회하는 SELECT 문은 앞에서 봤듯이 상당히 간단합니다. SELECT와 FROM, 딱 두 단어와 조회하려는 테이블명만 알면 어떤 테이블에 있는 데이터라도 조회할 수 있습니다.
그런데 데이터를 조회하는 SQL 문에 하필이면 SELECT와 FROM이란 단어를 썼을까요? 선택한다는 의미의 SELECT보다는 FIND, LOOK, SEARCH 같은 단어가 조회한다는 의미에 더 맞고 사용자도 좀 더 이해하기 쉬울 텐데요. 최초로 SELECT와 FROM이란 단어를 선택한 사람의 의도를 정확히 알 수는 없지만 추측해 볼 수는 있습니다.
1장에서 데이터베이스와 스키마를 설명하면서 MySQL은 커다란 공장이고, 창고는 데이터베이스, 테이블은 선반에 해당한다고 설명했습니다. 공장(MySQL)에서 생산한 각종 제품(데이터)을 창고(데이터베이스) 안에 있는 선반(테이블)에 보관한다고 한다면, 테이블에 있는 데이터를 조회하는 것은 창고 안의 선반에서 제품을 꺼내 오는 것이라고 볼 수 있죠. 즉, 특정 위치에 있는 제품을 꺼낸다는 개념으로 데이터 조회 작업을 본다면 SELECT와 FROM이란 단어를 사용한 이유를 이해할 수 있을 거예요.
앞에서 world 데이터베이스에 있는 city 테이블을 조회했는데, 이는 MySQL 공장의 world 창고 안에 있는 city 선반에서 제품을 꺼내 오는 작업이라고 볼 수 있습니다. 이렇게 위치와 장소 개념을 적용해 이해하면 데이터를 조회하는 SELECT 문의 구문을 잊어버리는 일은 없을 겁니다.
▲ 그림 5-1 SELECT 문의 개념