DB/Oracle

Oracle DB - 연산을 통한 데이터 조회

진이최고다 2023. 4. 17. 23:48

비교 연산자 

비교 연산자에는  =, != (^=, <>), <, >, <= , >=, IS NULL, IS NOT NULL 이 존재하며, 
비교 연산자를 통해 데이터를 조회할 수 있다. 
SELECT * FROM NOTICE WHERE WRITER_ID = 'newlec';
  • NOTICE 테이블에서 WRITER_ID 값이 'newlec'인 모든 열을 검색한다. 
  • 즉, 작성자가 'newlec'인 모든 공지사항 데이터를 조회할 수 있다.
SELECT * FROM NOTICE WHERE HIT > 3;
  • NOTICE 테이블에서 HIT 값이 3보다 큰 모든 열을 검색한다.
  • 즉, 조회수가 3 이상인 모든 공지사항 데이터를 조회할 수 있다. 
SELECT * FROM NOTICE WHERE CONTENT IS NULL;
  • NOTICE 테이블에서 CONTENT 값이 NULL인 모든 열을 검색한다. 
  • 즉, 내용이 없는 공지사항 데이터를 조회할 수 있다.
각 문장에서 WHERE 절은 검색 조건을 지정하는 역할을 한다.
첫 번째 문장에서는 'newlec'이라는 값을 가지는 WRITER_ID 열을, 두 번째 문장에서는 3보다 큰 HIT 열을,세 번째 문장에서는 NULL 값을 가지는 CONTENT 열을 검색한다. SELECT 문에서 '*'는 모든 열을 의미하며,따라서 위의 문장에서는 검색된 모든 열을 검색 결과로 반환한다. 만약, 특정한 열만을 검색하려면 SELECT 문에서 해당 열 이름을 지정하면 된다.
예를 들어, SELECT TITLE, CONTENT FROM NOTICE WHERE HIT > 3;은 HIT 값이 3보다 큰 공지사항의 제목과 내용 열만 검색한다.

관계연산자

관계연산자에는AND, OR, BETWEEN, IN 이 존재하며, 
WHERE 절에서 사용되어 검색 조건을 지정하는 데 사용된다.

OR

SELECT * FROM NOTICE WHERE HIT= 0 OR HIT = 1;
  • WHERE 절에서 OR 연산자를 이용하여 HIT 열 값이 0, 1, 2 중 하나와 일치하는 데이터를 검색한다.

AND

SELECT * FROM NOTICE WHERE 0 <= HIT AND HIT <=2;
  • WHERE 절에서 AND 연산자와 비교 연산자를 이용하여 HIT 열 값이 0에서 2 사이의 범위에 있는 데이터를 검색한다.

BETWENN

SELECT * FROM NOTICE WHERE HIT BETWENN 0 AND 2;
  • WHERE 절에서 BETWEEN 연산자를 이용하여 HIT 열 값이 0에서 2 사이의 범위에 있는 데이터를 검색한다.

IN

SELECT * FROM NOTICE WHERE HIT IN (0, 2, 7);
  • WHERE 절에서 IN 연산자를 이용하여 HIT 열 값이 0, 2, 7 중 하나와 일치하는 데이터를 검색한다.

NOT IN

SELECT * FROM NOTICE WHERE HIT NOT IN (0, 2, 7);
  • WHERE 절에서 NOT IN 연산자를 이용하여 HIT 열 값이 0, 2, 7 중 어느 하나와도 일치하지 않는 데이터를 검색한다.
이러한 SQL 문장들은 WHERE 절에서 적절한 연산자를 이용하여 원하는 데이터를 검색하는 데 사용된다.. 해당 연산자들은 데이터베이스에서 많이 사용되며, 연산자를 적절하게 사용하여 WHERE 절을 작성하면 원하는 데이터를 빠르고 간편하게 검색할 수 있다.

패턴 비교 연산자

패턴 비교연산자에는 LIKE, %, _ 가 존재하며,
WHERE 절에서 문자열 검색 조건을 지정할 때 사용된다.

LIKE

SELECT * FROM MEMBER WHERE NAME LIKE '홍%';
  • NAME 열의 값이 '홍'으로 시작하는 모든 레코드를 하며, LIKE 연산자에서 사용된 %는 0개 이상의 임의의 문자열을 나타내는 와일드카드이다.

_

SELECT * FROM MEMBER WHERE NAME LINE '홍_';
  • NAME 열의 값이 '홍'으로 시작하고 세 번째 글자가 어떤 문자든지인 모든 레코드를 검색하며, LIKE 연산자에서 사용된 _는 한 개의 임의 문자를 나타내는 와일드카드이다.

NOT LIKE

SELECT * FROM MEMBER WHERE NAME NOT LIKE '홍%;;
  • NAME 열의 값이 '홍'으로 시작하지 않는 모든 레코드를 검색하며, NOT LIKE 연산자를 사용하여 '홍'으로 시작하는 레코드를 제외한 나머지 레코드를 검색한다.

%

SELECT * FROM MEMBER WHERE NAME LIKE '%길%';
  • NAME 열의 값에 '길'이 포함된 모든 레코드를 검색하며, LIKE 연산자에서 사용된 %는 앞이나 뒤에 0개 이상의 임의 문자열이 올 수 있는 와일드카드이다.
위의 쿼리문에서 사용된 LIKE 연산자는 문자열 검색에서 유용하게 사용된다.
%와 _와 같은 와일드카드를 활용하여 원하는 패턴을 지정할 수 있. NOT LIKE 연산자를 사용하면 특정 패턴과 일치하지 않는 레코드를 검색할 수 있다. 이러한 기능을 이용하면 데이터베이스에서 원하는 문자열 데이터를 효과적으로 검색할 수 있다.

💡 ORACLE에서 와일드카드란, 문자열 검색에서 특정 문자열 패턴을 대신하여 사용하는 기호로, LIKE 연산자와 함께 사용된다. 대표적으로 사용되는 와일드카드는 %와 _이다.

 

유튜브 뉴렉쳐님의 Oracle 강의 기반으로 공부한 것을 작성한 블로그입니다.
출처 : 오라클(Oracle) SQL 강의 - 유튜브 뉴렉처