MySQL ORDER BY

dpwl·2024년 4월 8일
0

Data Analysis

목록 보기
9/83

1. 실습환경 만들기

1.1 실습할 database로 이동(사용)

show databases;
use database1;

1.2 실습할 테이블 생성

family 테이블 정보

FieldTypeNullKeyDefaultExtra
IDintNOPRINULLauto_increment
NAMEvarchar(32)NO
BIRTHDAYdateYESNULL
AGEintYESNULL
SEXchar(1)YESNULL
OCCUPATIONvarchar(32)YESNULL

AUTO_INCREMENT는 데이터베이스에서 테이블의 열에 지정된 경우, 해당 열의 값이 자동으로 1씩 증가하도록 설정된다. 이는 일반적으로 기본 키(primary key) 열에 적용되어 해당 열에 새로운 레코드가 삽입될 때마다 자동으로 증가하는 일련번호를 생성하는 데 사용된다.

예를 들어, 테이블의 ID 열이 AUTO_INCREMENT로 지정되어 있으면, 새로운 레코드가 삽입될 때마다 데이터베이스는 이전 레코드의 ID 값보다 1 큰 값을 자동으로 할당한다. 이를 통해 각 레코드에 고유한 식별자를 제공할 수 있다.

create table family
(
    ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    NAME varchar(32) NOT NULL DEFAULT '',
    BIRTHDAY date,
    AGE int,
    SEX char(1),
    OCCUPATION varchar(32)
);
# DEFAULT: 해당 열에 값을 입력하지 않을 경우 공백('')을 기본값으로 사용

desc tablename;

DEFAULT는 테이블의 열(Column)에 기본값을 설정하는 데 사용되는 키워드이다. 즉, 해당 열에 값을 명시적으로 입력하지 않을 경우에는 이 기본값이 자동으로 사용된다.

1.3 실습할 데이터 추가 및 확인

insert into tablename values (1, 'Irene', '1994-02-09', 29, 'F', '회사원');

select * from family;

2. ORDER BY

ORDER BY는 SELECT 문에서 데이터를 특정 column을 기준으로 오름차순 또는 내림차순 정렬해주는 명령문이다.

ORDER BY 문법

  • ASC(Ascending): 오름차순으로 정렬
  • DESC(Descending): 내림차순으로 정렬
SELECT column1, column2, ...
FRO< tablename
ORDER BY column1, column2, ... ASC | DESC;

Example 1: family 테이블에서 이름과 나이를 나이순으로 조회하기

select age, name from family order by age acs;

ORDER BY는 기본값으로 오름차순 정렬이기 때문에 ACS 생략이 가능하다.

Example 2: family 테이블에서 이름과 나이를 나이 역순(내림차순)으로 조회하기

select age, name from family order by age desc;

Example 3: family 테이블에서 이름과 나이를 나이와 이름순으로 정력하여 조회하기

select age, name from family order by age, name;

Example 4: family 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회하기

select age, name from family order by age desc, name asc;
profile
거북선통통통통

0개의 댓글