본문 바로가기
프로그래밍 언어/SQL - MySQL

[MySQL 공부] SELECT 문

by UltraLowTemp-Physics 2021. 5. 17.
728x90

content 

  (1) SELECT 
  (2) ORDER BY :
추출된 데이터의 데이터 정렬 
  (3) DISTINCT/ALL :
추출된 데이터 중 중복되는 데이터를 제거 여부


SELECT

  • 지정한 열을 가져옴
  • SQL에서 가장 많이 사용되는 키워드 

1. 지정한 열이 하나일 경우

SELECT <coloum_name> FROM <table_name>;

  • column_name : 출력하고 싶은 열 이름 
  • table_name: 참조를 원하는 테이블   

2. 지정한 열이 여러 개인 경우

SELECT <column1>,<column2>,<column3> FROM <table_name>;

   • column1, column2, column3: 출력하고 싶은 열 이름 

3. 참조 테이블에서 모든 열을 가져오는 경우

SELECT * FROM <table_name>;

  ※ NOTE: <table>의 모든 데이터를 출력함 


ORDER BY 

※ SELECT 문에서 사용하는 데이터 정렬: 
   • 일반적으로 Default 값으로써 오름차순(ASC)으로 정렬함 
   • 내림차순 및 오름차순 옵션 이름은 DESC, ASC이다. 
   • syntax: SELECT <열 이름들> FROM <테이블 명> WHERE <조건절> ORDER BY <열이름>; 
    - ORDER BY는 문장의 맨 끝에 사용을 하며, 문장 앞에 사용하게 될 경우, 오류가 발생함. 

1. 열 이름을 지정하여 정렬: ORDER BY <column_name> 사용

SELECT <column1>, <column2> FROM <table> ORDER BY <column1 name>, <column2 name>  

  • ORDER BY 뒤에 정렬하고 싶은 열의 이름을 기입  
  • 정렬되는 우선순위는 ORDER BY에서 가장 가까운 열부터 멀어지는 방향으로 정렬된다.  

2. 열 위치를 지정하여 정렬: ORDER BY  사용

SELECT <column1>, <column2> FROM <table> ORDER BY <column_position1>, <column_position2>

  • ORDER BY 뒤에 정렬하고 싶은 열의 위치를 기입    
  • 정렬되는 우선순위는 ORDER BY에서 가장 가까운 열부터 멀어지는 방향으로 정렬된다.

3. 내림차순으로 정렬하는 경우 

SELECT <column1>, <column2> FROM <table> ORDER BY <column_position> DESC

  • 내림차순으로 정렬할 경우, 내림 차순으로 정렬을 원하는 열, "<column_position>" 옆에 DESC를 적어준다. 


DISTINCT/ALL 키워드 

※ DISTICT 명령어 : SELECT 문을 출력할 때, 중복되는 데이터를 제거함 
  • 범주형 변수*인 경우에 DISTINCT 키워드를 사용하면 중복되는 값은 제거된다. 
  • DISTINCT 키워드의 반대는 ALL
     - Default로 설정된 값은 ALL이다. 

     - DISTINCT를 쓰지 않으면 중복되는 열을 포함하여 모든 열들이 출력됨  
  • DISTINCT 키워드는 집계 함수와 하부 쿼리에서 많이 사용됨 
  
※ 범주형 변수와 연속형 변수
a. 범주형 변수: 측정된 척도가 여러 범주들의 집합으로 구성되어있는 변수, ex) {남성, 여성},  학점 {A,B,C,D}, ... 
   명목형 변수(Nominal variable)와 순서형 변수(Ordinal variable)로 나뉨
    (a) 명목형 변수: 순서가 없는 범주형 변수 
    (b) 순서형 변수: 범주 간에 순서 척도가 있는 변수


1. DISTINCT 뒤에 지정한 열이 한개일 경우

SELECT DISTINCT <column> From <table1>

2) DISTINCT 뒤에 지정한 열이 여러 개인 경우

SELECT DISTINCT <column1>, <column2> From <table1>

- column1과 column2의 데이터를 중복없이 출력하고자 할때 사용

ALIAS 별칭 

SELECT <column_name> AS <new_name> FROM <table>

- <column_name>의 열의 이름을 <new_name>으로 출력
- 다른 방법으로 인용부호 ("")를 사용할 수 있다. 예를 들어 위의 경우를 인용부호를 사용하여 ALIAS를 설정한다고 한다면, 
  SELECT <column_name> "<new_name>" FROM <table> 

 


Limit 키워드 

Query에 의해 출력되는 상위 행의 갯수를 지정함 
• 조회가 자주 일어날수록 DB에 부하가 많이 주는 것이므로, 필요없는 부하를 줄이기 위해서 사용함  

728x90

댓글