-Order by를 이용해 복수 열을 지정해 정렬할 수 있다.
상품코드와 해당 상품의 하위번호까지 함께 고려했을 때 비로서 하나의 행을 특정지을 수 있는 명세서 등은 복수의 열을 지정해 정렬하면 편리하다.
아래 테이블을 1-1,1-2,1-3,2-1,2-2와 같이 정렬하려 합니다. 하지만 a 열에서 1이 중복되고 있으므로 정렬이 정상적으로 되지 않습니다.
SELECT *FROM test;
a b
1 1
2 1
2 2
1 3
1 2
a 열의 값이 1인 행이 총 3개 있는데, 서로 값이 똑같아 순서를 결정할 수 없기 때문 입니다.
SELECT * FROM test ORDER BY a;
a b
1 1
1 3
1 2
2 1
2 2
복수 열을 지정하면 정렬결과가 바뀌게 됩니다. a열 같이 값이 같아 순서를 결정할 수 없는 경우에는 다음으로 지정한 열명을 기준을 정렬하는 식으로 처리 됩니다.
SELECT *FROM test ORDER BY a,b;
a b
1 1
1 2
1 3
2 1
2 2
아래와 같이 정렬 순서를 b부터 하게 되면 아래와 같은 결과가 출력되게 됩니다. 먼저 b열의 값을 기준으로 정렬되고, b열에서 값이 같은 부분은 a열의 값을 기준으로 정렬된것을 확인할 수 있습니다.
SELECT *FROM test ORDER BY b,a;
a b
1 1
2 1
1 2
2 2
1 3
복수열을 지정할 경우에도 각 열에 대해 개별적으로 정렬방법을 지정할 수 있습니다. 이때는 각 열 뒤에 ASC,DESC를 붙여줍니다.
SELECT *FROM test ORDER BY a ASC, b DESC;
a b
1 3
1 2
1 1
2 2
2 1
NULL값이 저장된 열을 정렬할 때는 대소비교를 할 수 없어 정렬 시에는 별도의 방법으로 취급 합니다. "특정 값보다 큰 값", "특정 값 보다 작은 값" 의 두가지로 나뉘며 이 중 하나의 방ㅂ버으로 대소를 비교 합니다.
즉, ORDER BY로 지정한 열에서 NULL값을 가지는 행은 가장 먼저 표시되거나 가장 나중에 표시 됩니다.
Goal -LIMIT문을 이용해서 결과값으로 반환되는 행을 제한할 수 있다. -OFFSET문을 이용해서 PAGINATION 기능 로직을 처리 할 수 있다. 1. 행수 제한 ~ SELECT 열명 FROM 테이블명 LIMIT 행수 [OFFSET 시작행] ~ LIMIT구는 표준 SQL은 아닙니다. MySQL, PostgreSQL에서 사용할 수 있는 문...
Goal -LIMIT문을 이용해서 결과값으로 반환되는 행을 제한할 수 있다. -OFFSET문을 이용해서 PAGINATION 기능 로직을 처리 할 수 있다. 1. 행수 제한 ~ SELECT 열명 FROM 테이블명 LIMIT 행수 [OFFSET 시작행] ~ LIMIT구는 표준 SQL은 아닙니다. MySQL, PostgreSQL에서 사용할 수 있는 문...
Goal -Order by를 이용해 복수 열을 지정해 정렬할 수 있다. 상품코드와 해당 상품의 하위번호까지 함께 고려했을 때 비로서 하나의 행을 특정지을 수 있는 명세서 등은 복수의 열을 지정해 정렬하면 편리하다. 1. 복수 열로 정렬 지정 아래 테이블을 1-1,1-2,1-3,2-1,2-2와 같이 정렬하려 합니다. 하지만 a 열에서 1이 중복...
Goal - Queue(큐)의 개념을 이해한다. - Queue를 C언어로 구현한다. Queue(큐) 개념 - 큐는 스택과 마찬가지로 일종의 리스트 - 데이터 삽입은 한쪽 끝에서, 삭제는 반대쪽 끝에서만 일어난다 - 삽입이 일어나는 쪽을 rear, 삭제가 일어나는 쪽을 front라고 부른다. - FIFO(First-in, First-Out) ima...
Goal - SELECT 명령의 ORDER BY구를 사용하여 검색결과의 행 순서를 바꿀 수 있다. ~ SELECT 열명 FROM 테이블명 WHERE 조건명 ORDER BY 열명 ~ ORDER BY로 검색결과 정렬 SELECT 명령의 ORDER BY 구로 정렬하고 싶은 열을 지정 합니다. ~ SELECT * FROM test; nameageadd...