SELECT FROM statement - SELECT FROM 구문
이미 SQL은 테이블처럼 구조화된 데이터를 다루기 위해 계획된 것이란 것을 압니다.
이는 현재 다양한 분야에서 사용됩니다.
당신이 "table_name" 이라 불리는 테이블로부터 모든 데이터를 추출하기 위해서는 밑의 쿼리를 사용하면 됩니다.
SELECT * FROM table_name;
이 주제에서는, SELECT
구문에 대해서 더욱 배우고, 테이블로부터 어떻게 미리 조직된 데이터를 추출하는지에 대해서 배웁니다.
Projection - 투영 (투사)
당신이 weather
테이블을 가지고 있다고 가정하겠습니다,
이 테이블은 런던에서의 지난 5일 동안의 날씨에 대한 정보를 저장했습니다.
day | hour | temperature | feels_like | pressure | w_speed | w_dir | w_gusts | humidity | phenomena |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 14 | 14 | 754 | 2 | W | 8 | 88 | rainshower |
1 | 7 | 11 | 11 | 754 | 1 | N | 1 | 92 | continuousrain |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
5 | 19 | 16 | 13 | 759 | 5 | S | 11 | 93 | rainshwer |
볼 수 있다시피, 매 시간마다 많은 속성이 있습니다.
우리가 테이블의 모든 것이 필요한가요?
한번 모바일 폰 스크린에 표시될 기초적인 정보를 골라 보는 쿼리를 작성 해 봅시다!
예를 들어, day, hour, weather phenomena, temperature, feels like, wind speed
SELECT
day,
hour,
phenomena,
temperature AS "temperature in Celsius",
feels_like AS "feels like in Celsius",
w_speed AS "wind speed in m/s"
FROM
weather
;
SELECT
키워드 이후, 우리가 원하는 컬럼들을 리스팅 했고, 필요한 곳에 별칭은 구현했습니다.
쿼리의 계산 결과는 밑의 테이블과 같습니다. :
day | hour | phenomena | temperature in Celsius | feels like in Celsius | wind speed in m/s |
---|---|---|---|---|---|
1 | 1 | rain shower | 14 | 14 | 2 |
1 | 7 | continuous rain | 11 | 11 | 1 |
... | ... | ... | ... | ... | ... |
5 | 19 | rain shower | 16 | 13 | 5 |
테이블 컬럼들의 하위 서브셋을 선택 할 때 추출된 데이터 타입은 Projection 이라고 불립니다.
여기 여러 쿼리들을 위한 일반적인 스키마가 있습니다.
SELECT
키워드 : 선택적인 별칭과 리스팅 된 컬럼 이름들FROM
키워드 : 테이블 이름과 구문의 종료를 세미콜론;
로 표시된다.
SELECT
col1 [AS alias 1], ..., colN [AS aliasN]
FROM
table_name
;
Expressions - 표현식
여기, 어떠한 이유로 같은 데이터를 기반으로 한 다른 결과를 필요로 한다고 상상하겠습니다.
예를 들어, 장소 변수에 대한 컬럼을 추가하고, 화씨 온도를 보여주거나, 체감온도가 어떠한지에 대해서 추정하거나.
place | day | hour | phenomena | temperature in Fahrenheit | feels colder | wind spped in m/s |
---|---|---|---|---|---|---|
London | 1 | 1 | rain shower | 57 | FALSE | 2 |
London | 1 | 7 | continuous rain | 52 | FALSE | 1 |
... | ... | ... | ... | ... | ... | ... |
London | 5 | 19 | rain shower | 61 | TRUE | 5 |
밑의 쿼리가 위의 테이블로 결과를 내 줍니다. :
SELECT
'London' AS place,
day,
hour,
phenomena,
temperature*9/5+32 AS "temperature in Fahrenheit",
feels_like < temperature AS "feels colder",
wind_speed AS "wind speed in m/s"
FROM
weather
;
우리는 속성들 : place
, temperature in Fahrenheit
, feels colder
에 알맞는 표현식을 표기했습니다.
이는 리터럴과 컬럼 이름들에 기초 해 있습니다.
네, 당신은 표현식의 컬럼 이름을 아주 잘 사용 할 수 있습니다!
데이터 관리 시스템이 당신의 쿼리를 실행 할 때, 각 조직된 줄에 대한 속성 값에 알맞는 컬럼 이름들이 대신 위치하게 됩니다.
Logical table
데이터 관리 시스템은 추상적인 컨셉의 로직 테이블 뒤에 저장된 물리적인 데이터 경로를 숨깁니다.
당신은 쿼리 구동을 잘하기 위해 잘 알아야 할 것은 데이터베이스 스키마 뿐 입니다.
ex - 테이블 이름들, 컬럼의 이름과 타입들, 그리고 적절한 접근 권한들.
내부적으로, 쿼리 실행기는 쿼리로부터 참조하여 테이블과 컬럼들을 매핑하는데,
쿼리는 파일, 네트워크 커넥션, 심지어 다른 쿼리들을 실행하는 결과처럼 물리적입니다.
Conclusion - 결론
마지막으로, 테이블에서 데이터를 추출하는 구문에 대한 템플릿을 전체적으로 살펴보고, 그것의 표현식을 계산합시다.
SELECT
exp1 [AS alias1], ..., expN [AS aliasN]
FROM
table_name
;
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introducing to SQL' 카테고리의 다른 글
The NULL value - null 값 (0) | 2024.04.13 |
---|---|
Logic and comparison expressions - 로직, 비교 표현식 (1) | 2024.04.12 |
Basic SELECT statement - 기초적인 SELECT 구문 (0) | 2024.04.09 |
Basic CREATE statement - 기본적인 CREATE 구문 (0) | 2024.04.08 |
Arithmetic expressions - 산술 표현식 (0) | 2024.04.07 |