SQL 기본 문법

SQL 기본 문법7(ORDER BY 절, 레코드 출력 개수 제한)

ishoe 2021. 2. 7. 18:51

ORDER BY 절을 이용한 정렬

 

ODER BY절 사용법

SELECT COLUMN이름1, COLUMN이름2, FROM TABLE이름 ORDER BY COLUMN ASC/DESC

ASC는 오름차순의 약자, DESC는 내림차순의 약자

 

ODER BY절 : 레코드를 특정컬럼을 기준으로 정렬 후 출력시킬 때 사용하는 방법

 

오름차순 (ASCENDING) :  새로 작성한 숫자나 문자가 높아(커)지게 정렬한 것

 

내림차순 (DESCENDING) : 새로 작성한 숫자나 문자가 낮(작)아지게 정렬한 것

구분법 : '컴퓨터는 문자나 숫자를 작성하면 밑 또는 오른쪽 으로 생긴다'를 생각하면 쉽다.

 

실습해서 한 것 처럼 order by 뒤에 seq와 name 둘 다 입력해도 적용이 된다.

 

추가적으로 order by 뒤에 컬럼 이름 대신 숫자를 입력해도 출력이 되는데 1은 첫번째 컬럼 2는 두 번째 컬럼이 된다.

 

select seq, name from member order by 3; 을 치면 오류가 난다.

 

이유는 전체 컬럼은 3개가 있는데 select 절에서 1번과 2번인 seq, name을 출력하겠다고 했기 때문이다.

이렇게 되면 3번째에 있는 컬럼 즉 이메일은 출력이 안되기 때문에 에러가 뜬다.

기준이 전체 테이블이 아니라 나오는 값을 기준으로 한다.

 

레코드 출력 개수 제한

DBMS 키워드
ORACLE ROWNUM
MSSQL TOP
MYSQL LIMIT

 

MYSQL의 LIMIT절

 

사용법1 : SELECT COLUMN이름1, COLUMN이름2, FROM TABLE이름 LIMIT OFFSET(위치값), ROW_COUNT(레코드 수)

 

사용법2 : SELECT COLUMN이름1, COLUMN이름2, FROM TABLE이름 LIMIT ROW_COUNT(레코드 수)

실습에서 보이는거 와 같이 limit 2를 입력하면 2개를 출력하겠다는 뜻이고 limit 2, 3; 을 입력하면 3번째 레코드 부터 3개를 출력하겠다는 뜻이다.(0이 첫번째 이기 때문)

 

출처: 크리핵티브

강의 사이트: inf.run/7fxB

 

성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법 - 인프런

웹 해킹의 꽃이라 불리는 SQL 인젝션 공격을 익히기 위한 기초 단계! SQL 기본 문법에 대한 강의입니다! 초급 프로그래밍 언어 데이터베이스 보안 SQL 모의해킹 MySQL 데이터베이스 온라인 강의 SQL

www.inflearn.com