DB/MySQL

MySQL

kimddakki 2022. 4. 28. 15:54
SELECT

SELECT

// MySQL에서는 SELECT문을 사용하여 테이블의 레코드를 선택 할 수 있음.

 

SELECT [필드 이름] FROM [테이블 이름] WHERE [조건];

 

FROM절은 레코드를 선택할 테이블의 이름을 명시함.

해당 테이블에서 선택하고 싶은 필드의 이름을 SELECT 키워드 뒤에 명시하면 됩니다.

 

 

모든 필드를 선택하고 싶다면 SELECT 뒤에 * 기호를 사용하면 모든 필드를 선택할 수 있습니다

 

SELECT * FROM Reservation;

// Reservation 테이블에서 모든 필드 선택해서 보여줘

 

WHERE 뒤의 조건문을 만족하는 레코드 값만 확인 할 수 있습니다!!

SELECT * FROM Reservation WHERE Name = '홍길동';

// Reservation 테이블에서 Name 필드 값이 홍길동인 레코드의 모든 필드를 보여줘

 

SELECT * FROM Reservation WHERE ID <= 3 AND ReserveDate > '2016-02-01';

// Reservation 테이블에서 ID 값이 3이하 '이고' ReserveDate 가 2016-02-01 이후인 레코드의 모든 필드를 보여줘 

 

특정 필드만을 선택하고 싶으면 SELECT 뒤에 가져오고 싶은 필드 이름만 명시해 주면 됩니다.

SELECT Name, RoomNum FROM Reservation;

// Reservation 테이블에서 Name , RoomNum 필드만 가져와서 보여줘

 

SELECT Name, ReserveData FROM Reservation WHERE ID <= 3 AND ReserveDate > '2016-02-01';

// Reservation 테이블에서 ID가 3보다 작고 ReserveDate가 2016년 2월 1일 이후인 레코드의 Name, ReserveData 필드만 보여줘

 

중복 되는 값 제거 후 보여주기

SELECT DISTINCT Name FROM Reservation;      distinct : 별개의

// Reservation 테이블에서 Name컬럼만 보여주는 데 중복되는 값이 있으면 빼고 보여줘

 

선택한 결과 정렬해서 보여주기

SELECT * FROM Reservation ORDER BY ReserveDate;

// Reservation 테이블에서 모든 필드를 다 보여주는 데 ReserveDate 필드를 오름차순 해서 보여줘

 

SELECT * FROM Reservation ORDER BY ReserveDate DESC;

// Reservation 테이블에서 모든 필드를 다 보여주는 데 ReserveDate 필드를 내림차순 해서 보여줘

 

※ PHP에서 문자열 타입을 데이터로 가지는 필드를 정렬할 때는 기본적으로 대소문자를 구분하지 않습니다.

하지만 대소문자까지 구분하여 정렬하고 싶을 때는 ORDER BY BINARY 절을 사용하면 됩니다.

 

여러개의 필드를 정렬하고 싶다면 쉼표를 이용해서 한 번에 정렬하는 것도 가능하다.

 

SELECT * FROM Reservation ORDER BY ReserveDate DESC, RoomNum ASC;

// Reservation 테이블의 모든 필드를 다 보여주는 데 먼저 ReserveDate를 내림차순 해줘 근데 동일한 값이 있으면 RoomNum을 오름차순 한 뒤 보여줘!!

 

별명(alias)를 이용한 처리

SELECT [필드 이름] AS [별명] FROM [테이블 이름];

// 해당 필드 이름에 별명 부여

SELECT [필드 이름] FROM [테이블 이름] AS [별명];

// 해당 테이블 이름에 별명 부여

 

SELECT ReserveDate, CONCAT(RoomNum, ":" , Name) AS Reserveinfo FROM Reservation;

// Reservation 테이블의 ReserveDate와 Reserveinfo 필드를 보여주는 데 Reserveinfo는 없을 거야

Reserveinfo라는 별명을 가진 일회성 필드를 보여줘 Reserveinfo 필드는 RoomNum : Name이라는 표현으로 보여줘

CONCAT()함수는 인수로 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환하는 함수

 


 

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com