반응형
오늘 배운 것
SQL의 SELECT 구문 -> READ !
# 13.2.10 SELECT Statement (SELECT SYNTAX)
# [] 대괄호는 생략 가능하다
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr] ...
[into_option]
[FROM table_references
[PARTITION partition_list]]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
[HAVING where_condition]
[WINDOW window_name AS (window_spec)
[, window_name AS (window_spec)] ...]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[into_option]
[FOR {UPDATE | SHARE}
[OF tbl_name [, tbl_name] ...]
[NOWAIT | SKIP LOCKED]
| LOCK IN SHARE MODE]
[into_option]
into_option: {
INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name] ...
}
////
# SELECT문으로 원하는 정보만 가져올 수 있다
# FROM 앞에 * 은 모두 가져온다는 의미 > 단 데이터가 많을 경우에는 사용 금물(컴퓨터가 멈춤)
MariaDB [daco]> SELECT * FROM topic WHERE author='daco' order by title desc;
+----+------------+----------------------------+---------------------+--------+-----------+
| id | title | description | created | author | profile |
+----+------------+----------------------------+---------------------+--------+-----------+
| 5 | SQL Server | SQL Server is database | 2021-08-09 21:14:57 | daco | developer |
| 3 | PostgreSQL | PostgreSQL is database | 2021-08-09 21:13:47 | daco | developer |
| 2 | ORACLE | ORACLE is database | 2021-08-09 21:13:02 | daco | developer |
| 1 | MySQL | MySQL is my first database | 2021-08-09 21:07:51 | daco | developer |
| 4 | MongoDB | MongoDB is database | 2021-08-09 21:14:05 | daco | developer |
+----+------------+----------------------------+---------------------+--------+-----------+
5 rows in set (0.000 sec)
MariaDB [daco]> SELECT * FROM topic WHERE author='daco' ORDER BY title DESC LIMIT 3;
+----+------------+------------------------+---------------------+--------+-----------+
| id | title | description | created | author | profile |
+----+------------+------------------------+---------------------+--------+-----------+
| 5 | SQL Server | SQL Server is database | 2021-08-09 21:14:57 | daco | developer |
| 3 | PostgreSQL | PostgreSQL is database | 2021-08-09 21:13:47 | daco | developer |
| 2 | ORACLE | ORACLE is database | 2021-08-09 21:13:02 | daco | developer |
+----+------------+------------------------+---------------------+--------+-----------+
3 rows in set (0.000 sec)
MariaDB [daco]>
데이터베이스는 기본은 쉽지만 깊게 들어가면 굉장히 복잡해진다
예를 들어 다중 조건, 컬럼 제목 설정 등등
오늘 느낀 것
SELET 구문은 구글 스프레드의 QUERY 함수와 아주아주아주 유사하다. 거의 90% 동일하게 보인다. 아마 데이터베이스에서 가져온 함수이기 때문일 것이다. 그래서인지 그렇게 어렵게 느껴지진 않았다. 아직 시트에서도 QUERY를 자유자재로 사용하는 것은 아니지만 기본적인 것은 응용해서 유용한 기능들을 많이 만들어냈다. 검색기능이라던지 추출기능이라든지 등등
왠지 두근거리기 시작했다. 어려울 것으로 예상되긴 하지만 그래도 내가 원하는 데이터를 뽑아낼 때의 희열을 알기에 데이터베이스가 좀 더 가깝게 느껴졌다. 아무래도 나는 백엔드 체질인 듯 하다...
반응형
'나는 이렇게 학습한다 > DB' 카테고리의 다른 글
생활코딩 #SQL의 DELETE 구문(DELETE) (0) | 2021.08.11 |
---|---|
생활코딩 #SQL의 UPDATE 구문(UPDATE) (0) | 2021.08.11 |
생활코딩 #SQL의 INSERT 구문(CREATE) (0) | 2021.08.09 |
생활코딩 #MySQL 테이블의 생성, CRUD (0) | 2021.08.05 |
생활코딩 #MySQL의 구조 (0) | 2021.08.04 |