본문 바로가기

DataBase

SQL - Alias/Order by/Like 키워드를 이용한 SELECT 문

해당 키워드들을 설명하기에 앞서 아래 SQL문과 조회된 결과를 확인해보자.

 

<기본 SQL문>

 

<조회된 결과>

 

제대로 결과가 출력되었지만, 위 쿼리문을 봐서는 직관적으로 어떤 데이터를 찾는지 확인하기 힘들고, 테이블 이름이 길어지면 길어질수록 적어야 할 쿼리문의 길이가 늘어질 것이다.

따라서 우리는 Alias(별칭) 키워드를 사용하는데, 해당 키워드를 사용하면 긴 SQL문을 비교적 간편하게 만들 수 있다.

아래 쿼리문을 확인해보자.

 

<테이블에 Alias를 사용한 SQL문>
<조회된 결과>

 

첫번째 쿼리문과 비교했을 때, 조회된 결과는 동일하지만, 쿼리문이 간편해진것을 확인할 수 있다.

실제로 쿼리문을 작성할 때, 보통 테이블의 이름이 긴 경우 직관적이고 짧은 이름의 Alias를 이용하여 쿼리를 간결하게 만든다.

alias는 테이블 뿐만 아니라, 컬럼에도 적용할 수 있다.

 

<컬럼에 Alias를 사용한 SQL문>
<조회된 결과>

 

컬럼에 Alias를 사용하니 좀 더 구체적이고 명확한 column으로 결과가 조회된 것을  확인할 수 있다. 수백개 이상의 컬럼이 존재할 때 컬럼에 Alias를 사용하면 좀 더 컬럼 값들을 편하게 구별할 수 있다.

 

이제 이런 생각을 할 수 있을 것이다.

"내가 원하는 순서대로 출력되는 데이터를 조작할 수는 없을까?"

이러한 질문에 대한 대답은 "가능하다"이다. Order by 키워드를 이용하면 내가 원하는 순서대로 조회된 데이터가 출력되도록 조작할 수 있다.

 

<Order By 키워드를 사용한 SQL문>
<조회된 결과>

위 쿼리문을 살펴보면 order by enrollment DESC를 통해 enrollment Attribute에 해당하는 데이터를 내림차순으로 정렬했다는 것을 확인할 수 있다.

(DESC를 생략하면 기본적으로 오름차순(ASC)으로 정렬이 된다.)

여러 개의 컬럼을 통해 데이터를 정렬할 수 있는데, 먼저 명시해준 컬럼부터 순서대로 정렬된다.

아래 쿼리문을 확인해보자.

 

<두 개의 column을 order by 키워드를 통해 정렬한 SQL문>
<조회된 결과>

SQL문을 살펴보면 enrollment, GPA 컬럼에 대해 데이터를 정렬하고 있는 것을 확인할 수 있으며, 먼저 enrollment에 대한 데이터를 오름차순으로 정렬한 후, enrollment 에서 같은 값을 가진 데이터들에 한하여 GPA 컬럼을 내림차순으로 정렬하고 있다는 것을 결과를 통해 확인할 수 있다.

 

마지막으로 만약 내가 원하는 글자를 포함하고 있는 데이터를 조회하고 싶을 때는 어떻게 해야할까?

이때는 Like 연산자를 이용한다.

 

<Like 연산자를 이용한 SQL문>
<조회된 결과>

 

위 SQL문을 살펴보면 LIke 연산자를 통해 a.cName(SQL문에 있어 condition, 즉 조건이 들어가는 WHERE절에서는 collegeName과 같은 컬럼에 대한 alias를 사용할 수 없다!, 테이블에 대한 alias만 사용가능하다.)에 'or'이라는 단어가 포함된 데이터들만 조회하는 것을 볼 수 있고, 결과를 통해 실제로도 or이라는 단어가 포함된 Stanford, Cornell이라는 값을 가진 데이터만 출력되는 것을 확인할 수 있다.