본문 바로가기
코딩/SQL

[SQL] Order by, 비교 연산자

by 미생22 2023. 2. 17.
728x90

1. 실습환경 만들기

Order by 연산자 및 비교 연산자, 논리 연산자에 관한 예제를 만들기 위해 아래 table을 만들어준다.

table의 속성값에 관해 설명하자면,

Field는 항목, Type은 데이터타입, Null은 null값을 허용할 것인지에 관한 여부, Key는 이 table에서 데이터를 구분하는 unique한 값인지를 나타내는 여부이고 Primary key라고 표현한다. Default는 default값을 무엇으로 할 것인지, Extra에는 현재 값을 입력하지 않아도 자동으로 1씩 증가하는 auto_increment가 적혀있다. 

 

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)
);

만들고 나면 반드시 DESC celeb을 통해 해당 표를 확인해준다.

데이터는 아래 데이터를 넣어준다.

데이터를 다 넣고나서 반드시 select * from celeb;을 통해 데이터가 잘 들어갔는지 확인해준다.

2. Order by

Order by는 SELECT문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬을 해주는 명령어다.

ASC(Ascending): 오름차순으로 정렬

DESC(Descending): 내림차순으로 정렬

SELECT column1, column2, ...
FROM tablename
ORDER BY column1, column2, ... ASC|DESC;

where 조건문과 같이 쓸 때엔 order by가 where 뒤에 온다.

예제를 들어보면, celeb 테이블에서 이름과 나이를 나이순으로 조회해보겠다. 

SELECT age, name
FROM celeb
ORDER BY age ASC;

Order by의 기준에 컬럼이 두 개 들어갈 수도 있다. 이 경우 28살이 두명인데 이름 순으로 정렬하므로 송강 다음 이미주가 오게 된다. 또한, ACS를 생략해도 기본은 오름차순 정렬이다.

SELECT age, name
FROM celeb
ORDER BY age, name;

물론, column마다 정렬 순서를 다르게 할 수도 있다.

ex) ORDER BY age DESC, name ASC;

3. Comparison Operators (비교 연산자)

비교 연산자에는 다음과 같은 연산자들이 있다.

예제를 살펴보자. 나이가 29세가 아닌 데이터를 검색하려면, 아래 코드를 입력하면 된다.

SELECT name, age FROM celeb WHERE age!=29 ORDER BY age;
728x90

'코딩 > SQL' 카테고리의 다른 글

[SQL] UNION  (0) 2023.02.20
[SQL] 논리 연산자  (0) 2023.02.20
[SQL] 데이터 조작 언어 (select, insert, where, update, delete)  (0) 2023.02.16
[SQL] Table 생성/변경/삭제  (0) 2023.02.16
[SQL] Database 정의 / User 관리  (0) 2023.02.15