table 생성
'celeb'이란 table을 생성하여 실습을 진행해보자.
mysql> create table celeb
-> (
-> id int not null auto_increment primary key,
-> name varchar(32) not null default '',
-> birthday date,
-> age int,
-> sex char(1),
-> job_title varchar(32),
-> agency varchar(32)
-> );
Query OK, 0 rows affected (0.02 sec)
생성된 table를 확인해보자.
mysql> desc celeb;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(32) | NO | | | |
| birthday | date | YES | | NULL | |
| age | int | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| job_title | varchar(32) | YES | | NULL | |
| agency | varchar(32) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)
그리고 celeb에 임의로 셀럽들의 데이터를 입력하고 실습을 진행해보자.
mysql> select * from celeb;
+----+-----------+------------+------+------+-------------------------+--------------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+-----------+------------+------+------+-------------------------+--------------------------+
| 1 | 아이유 | 1993-05-16 | 29 | F | 가수, 텔런트 | EDAM엔터테이먼트 |
| 2 | 이미주 | 1994-09-23 | 28 | F | 가수 | 울림엔터테이먼트 |
| 3 | 송강 | 1994-04-23 | 28 | M | 텔런트 | 나무엑터스 |
| 4 | 강동원 | 1981-01-18 | 41 | M | 영화배우, 텔런트 | YG엔터테이먼트 |
| 5 | 유재석 | 1972-08-14 | 50 | M | MC, 개그맨 | 안테나 |
| 6 | 차승원 | 1970-06-07 | 48 | M | 영화배우, 모델 | YG엔터테이먼트 |
| 7 | 이수현 | 1999-05-04 | 23 | F | 가수 | YG엔터테이먼트 |
+----+-----------+------------+------+------+-------------------------+--------------------------+
7 rows in set (0.00 sec)
select 구문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬하여 조회할 때 사용된다.
asc
celeb table에서 이름과 나이를 '나이'순으로 조회해보자.(default = asc)
mysql> select age, name
-> from celeb
-> order by age asc;
+------+-----------+
| age | name |
+------+-----------+
| 23 | 이수현 |
| 28 | 이미주 |
| 28 | 송강 |
| 29 | 아이유 |
| 41 | 강동원 |
| 48 | 차승원 |
| 50 | 유재석 |
+------+-----------+
7 rows in set (0.00 sec)
desc
celeb table에서 이름과 나이를 '나이' 역순으로 조회해보자.
mysql> select age, name from celeb
-> order by age desc;
+------+-----------+
| age | name |
+------+-----------+
| 50 | 유재석 |
| 48 | 차승원 |
| 41 | 강동원 |
| 29 | 아이유 |
| 28 | 이미주 |
| 28 | 송강 |
| 23 | 이수현 |
+------+-----------+
7 rows in set (0.00 sec)
asc, desc
celeb table에서 이름과 나이를 '나이' 역순으로 정렬한 뒤, 이름 순으로 조회해보자.
mysql> select age, name
-> from celeb
-> order by age desc, name asc;
+------+-----------+
| age | name |
+------+-----------+
| 50 | 유재석 |
| 48 | 차승원 |
| 41 | 강동원 |
| 29 | 아이유 |
| 28 | 송강 |
| 28 | 이미주 |
| 23 | 이수현 |
+------+-----------+
7 rows in set (0.00 sec)