본문 바로가기
IT&모바일

[쿼리] 오라클 테이블 SELECT 문 예시

by 유용한 각종 정보(여행, IT/모바일, 엑셀 함수 등) 2022. 5. 5.
728x90
반응형

Oracle/PLSQL: SELECT 문

설명

Oracle SELECT 문은 Oracle 데이터베이스에 있는 하나 이상의 테이블에서 레코드를 검색하는 데 사용됩니다.

 

Syntax

Oracle/PLSQL의 SELECT 문의 구문은 다음과 같습니다.

SELECT expressions
FROM tables
[WHERE conditions];

매개변수 또는 인수

표현검색하려는 열 또는 계산입니다. 모든 열을 선택하려면 *를 사용하십시오.테이블레코드를 검색하려는 테이블입니다. FROM 절에 나열된 테이블이 하나 이상 있어야 합니다.WHERE 조건선택 과목. 레코드를 선택하기 위해 충족해야 하는 조건입니다. 조건이 제공되지 않으면 모든 레코드가 선택됩니다.

예제 - 한 테이블에서 모든 필드 선택

Oracle SELECT 쿼리를 사용하여 테이블의 모든 필드를 선택하는 방법을 살펴보겠습니다.

SELECT *
FROM homes
WHERE bathrooms >= 2
ORDER BY home_type ASC;

이 Oracle SELECT 문의 예에서는 *를 사용 하여 욕실 수가 2보다 크거나 같은 홈 테이블 의 모든 필드를 선택하고자 함을 나타냅니다 . 결과 세트는 home_type 에 따라 오름차순으로 정렬됩니다.

예제 - 한 테이블에서 개별 필드 선택

Oracle SELECT 문을 사용하여 테이블의 모든 필드가 아니라 테이블에서 개별 필드를 선택할 수도 있습니다.

예를 들어:

SELECT home_id, home_type, bathrooms
FROM homes
WHERE home_id < 500
AND home_type = 'two-storey'
ORDER BY home_type ASC, bathrooms DESC;

이 Oracle SELECT 예제는 home_id 가 500 미만이고 home_type 이 '2층'인 홈 테이블에서 home_id , home_type 및 욕실 필드 만 반환합니다. 결과는 home_type 에 따라 오름차순으로 정렬된 다음 욕실 에서 내림차순으로 정렬됩니다.

 

예제- 여러 테이블에서 필드 선택

Oracle SELECT 문을 사용하여 조인을 사용하여 여러 테이블에서 필드를 검색할 수도 있습니다.

SELECT homes.home_id, customers.customer_name
FROM customers
INNER JOIN homes
ON customers.customer_id = homes.customer_id
ORDER BY home_id;

이 Oracle SELECT 예 는 두 개의 테이블을 결합 하여 customer_id 값이 고객 및 홈 테이블 모두에서 일치 하는 home_id 및 customer_name 필드 를 표시하는 결과 집합을 제공 합니다. 결과는 home_id 를 기준으로 오름차순으로 정렬됩니다.

연습 연습 #1:

아래 연락처 테이블 을 기반으로 last_name 이 'Smith'이고 contact_id 가 1000 이상이고 contact_id 가 2000 이하인 연락처 테이블의 모든 필드를 선택하십시오 (정렬 필요 없음):

CREATE TABLE contacts
( contact_id number(10) not null,
  last_name varchar2(50) not null,
  first_name varchar2(50) not null,
  address varchar2(50),
  city varchar2(50),
  state varchar2(2),
  zip_code varchar2(10),
  CONSTRAINT contacts_pk PRIMARY KEY (contact_id)
);

연습 연습 #1을 위한 솔루션:

다음 Oracle SELECT 문은 직원 테이블에서 이러한 레코드를 선택합니다.

SELECT *
FROM contacts
WHERE last_name = 'Smith'
AND contact_id >= 1000
AND contact_id <= 2000;

또는 다음과 같이 BETWEEN 절을 사용하여 솔루션을 작성할 수 있습니다.

SELECT *
FROM contacts
WHERE last_name = 'Smith'
AND contact_id BETWEEN 1000 AND 2000;
 

 

반응형

댓글