on
SELECT
SELECT
■SELECT
SELECT 문을 사용하여 테이블의 레코드를 선택할 수 있다.
SELECT 필드이름 FROM 테이블이름 [WHERE 조건];
■테이블의 모든 필드 선택
SELECT 문과 함께 별표(*) 기호를 사용하면, 해당 테이블의 모든 필드를 선택할 수 있다.
SELECT * FROM 테이블이름;
ex) Reservation 테이블의 모든 필드를 선택
SELECT * FROM Reservation;
■특정 조건의 레코드 선택
SELECT 문과 함께 WHERE 절을 사용하면, 검색할 레코드의 조건을 설정할 수 있다.
ex) Reservation 테이블에서 Name의 값이 '홍길동'인 레코드만 선택
SELECT * FROM Reservation WHERE Name="홍길동";
WHERE 절에는 여러 개의 조건을 같이 명시할 수 있다. 여러 개의 조건은 AND나 OR연산자를 사용하여 연결한다.
ex) ID 값이 3이하이면서 ReserveDate 필드의 값이 2016년 2월 1일 이후인 레코드만을 선택한다.
SELECT * FROM Reservation WHERE ID <= 3 AND ReserveDate > '2016-02-01';
■특정 필드만을 선택
SELECT 키워드 다음에 필드 이름을 명시하면, 해당 테이블의 특정 필드만을 불러올 수 있습니다.
이때 쉼표(,)를 사용하면 여러 개의 필드 이름을 한 번에 명시할 수 있습니다.
ex) Reservation 테이블에서 Name 필드와 RoomNum 필드만을 선택
SELECT Name, RoonNum FROM Reservation;
ex) ID 값이 3이하이면서 ReserveDate 필드의 값이 2016년 2월 1일 이후인 레코드의 Name 필드와 ReserveDate 필드만을 선택
SELECT Name, ReserveDate FROM Reservation WHERE ID <= 3 AND ReserveDate > '2016-02-01';
■중복되는 값 제거
DISTINCT 키워드를 사용하여 그 값이 한 번만 선택되도록 설정할 수 있다.
ex) Reservation 테이블에서 Name 필드를 선택(DISTINCT 키워드를 사용했기 때문에 중복된 값은 한 번만 선택)
SELECT DISTINCT Name FROM Reservation;
■선택한 결과의 정렬
SELECT 문으로 선택한 결과를 ORDER BY 절을 사용하여 정렬할 수 있다. ORDER BY 절의 기본 설정은 오름차순이며, ASC 키워드를 사용하여 직접 오름차순을 명시할 수도 있고, DESC 키워드를 사용하여 내림차순으로 정렬할 수 있다.
ex) Reservation 테이블의 모든 레코드를 ReserveDate 필드의 오름차순으로 정렬하여 선택
SELECT * FROM Reservation ORDER BY ReserveDate;
ex) Reservation 테이블의 모든 레코드를 ReserveDate 필드의 내림차순으로 정렬하여 선택
SELECT * FROM Reservation ORDER BY ReserveDate DESC;
PHP에서 문자열 타입을 데이터로 가지는 필드를 정렬할 때는 기본적으로 대소문자를 구분하지 않는다.
대소문자까지 구분하여 정렬하고 싶을 때는 ORDER BY BINARY 절을 사용하면 된다.
또한, 여러 필드의 데이터를 쉼표(,)를 사용하여 한 번에 정렬할 수 있다.
ex) Reservation 테이블의 모든 레코드를 먼저 ReserveDate 필드의 내림차순으로 정렬한 뒤, RoomNum 필드의 오름차순으로 정렬하여 선택
SELECT * FROM Reservation ORDER BY ReserveDate DESC, RoomNum ASC;
■별칭(alias)을 이용한 처리
MySQL에서는 테이블과 필드에 임시로 별칭(alias)을 부여하고, 해당 별칭을 SELECT 문에서 사용할 수 있다.
SELECT 필드이름 AS 별칭 FROM 테이블이름; 또는 SELECT 필드이름 FROM 테이블이름 AS 별칭;
ex) Reservation 테이블의 RoomNum 필드와 Name 필드에 하나의 새로운 별칭을 부여
SELECT ReserveDate, CONCAT(RoomNum, ":", Name) AS ReserveInfo FROM Reservation;
※ CONCAT() : 인수로 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환하는 함수
from http://woong971.tistory.com/120 by ccl(A) rewrite - 2021-11-11 23:01:04