해당 키워드들을 설명하기에 앞서 아래 SQL문과 조회된 결과를 확인해보자.
제대로 결과가 출력되었지만, 위 쿼리문을 봐서는 직관적으로 어떤 데이터를 찾는지 확인하기 힘들고, 테이블 이름이 길어지면 길어질수록 적어야 할 쿼리문의 길이가 늘어질 것이다.
따라서 우리는 Alias(별칭) 키워드를 사용하는데, 해당 키워드를 사용하면 긴 SQL문을 비교적 간편하게 만들 수 있다.
아래 쿼리문을 확인해보자.
첫번째 쿼리문과 비교했을 때, 조회된 결과는 동일하지만, 쿼리문이 간편해진것을 확인할 수 있다.
실제로 쿼리문을 작성할 때, 보통 테이블의 이름이 긴 경우 직관적이고 짧은 이름의 Alias를 이용하여 쿼리를 간결하게 만든다.
alias는 테이블 뿐만 아니라, 컬럼에도 적용할 수 있다.
컬럼에 Alias를 사용하니 좀 더 구체적이고 명확한 column으로 결과가 조회된 것을 확인할 수 있다. 수백개 이상의 컬럼이 존재할 때 컬럼에 Alias를 사용하면 좀 더 컬럼 값들을 편하게 구별할 수 있다.
이제 이런 생각을 할 수 있을 것이다.
"내가 원하는 순서대로 출력되는 데이터를 조작할 수는 없을까?"
이러한 질문에 대한 대답은 "가능하다"이다. Order by 키워드를 이용하면 내가 원하는 순서대로 조회된 데이터가 출력되도록 조작할 수 있다.
위 쿼리문을 살펴보면 order by enrollment DESC를 통해 enrollment Attribute에 해당하는 데이터를 내림차순으로 정렬했다는 것을 확인할 수 있다.
(DESC를 생략하면 기본적으로 오름차순(ASC)으로 정렬이 된다.)
여러 개의 컬럼을 통해 데이터를 정렬할 수 있는데, 먼저 명시해준 컬럼부터 순서대로 정렬된다.
아래 쿼리문을 확인해보자.
SQL문을 살펴보면 enrollment, GPA 컬럼에 대해 데이터를 정렬하고 있는 것을 확인할 수 있으며, 먼저 enrollment에 대한 데이터를 오름차순으로 정렬한 후, enrollment 에서 같은 값을 가진 데이터들에 한하여 GPA 컬럼을 내림차순으로 정렬하고 있다는 것을 결과를 통해 확인할 수 있다.
마지막으로 만약 내가 원하는 글자를 포함하고 있는 데이터를 조회하고 싶을 때는 어떻게 해야할까?
이때는 Like 연산자를 이용한다.
위 SQL문을 살펴보면 LIke 연산자를 통해 a.cName(SQL문에 있어 condition, 즉 조건이 들어가는 WHERE절에서는 collegeName과 같은 컬럼에 대한 alias를 사용할 수 없다!, 테이블에 대한 alias만 사용가능하다.)에 'or'이라는 단어가 포함된 데이터들만 조회하는 것을 볼 수 있고, 결과를 통해 실제로도 or이라는 단어가 포함된 Stanford, Cornell이라는 값을 가진 데이터만 출력되는 것을 확인할 수 있다.
'DataBase' 카테고리의 다른 글
SQL - natural join, cross join, self join (0) | 2019.09.21 |
---|---|
SQL - Equi Join(등가 조인) 과 non Equi Join(비등가 조인) (0) | 2019.09.21 |
SQL - 테이블 JOIN을 이용한 SELECT문 (0) | 2019.09.16 |
SQL - SELECT문 (0) | 2019.09.16 |
관계형 모델(Relational Model) (0) | 2019.09.04 |