본문 바로가기
programming/DataManage

mysql SELECT 조건절 OR 사용 데이터 검색 using mysql SELECT OR condition

by 개코 - 개발과 코딩 2022. 5. 11.

mysql 의 OR 조건절은 2개 이상의 조건이 하나라도 맞는 것이 있다면 검색결과를 표시한다. 2개 이상의 조건이 무조건 맞아야 검색결과를 표시하는 AND 조건절보다는 유연하고 많은 양의 데이터를 검색할 수 있다. OR 조건절은 검색하고자 하는 데이터를 같은 컬럼 또는 서로 다른 컬럼들에 대해 적용할 수 있다.

mysql SELECT 조건절 OR 사용 데이터 검색
using mysql SELECT OR condition

mysql 에서 테이블의 데이터를 검색할 때 OR 조건절을 사용할 수 있다.

OR 조건절은 2개 이상의 조건절에서 1개의 조건이 적합해도 검색이 된다.

1개 이상의 검색조건이 적합해야 검색이 되는 AND 조건절하고 다르다.

즉, 여러개의 조건절이 OR 조건으로 연결될 경우 조건이 합당하면 검색이 된다.

AND 조걸절에 대한 내용의 이전 내용을 확인해 보도록 한다.

mysql OR 조건절

OR 조건절은 테이블을 검색하는 기능이기도 하다.

AND 조건절을 이용하여 테이블을 검색할 때 데이터의 검색에 한계가 있다.

즉, 같은 컬럼에서 2개이상의 서로 다른 데이터를 검색할 경우 AND 는 적합하지 않다.

이 떄 OR 조건절을 사용하면 같은 컬럼 또는 서로 다른 컬럼에서 서로 다른 데이터가 있는지를 전체적으로 검색할 수 있다.

아래는 OR 조건절을 사용하는 예문이다.

SELECT * [, 컬럼명, 컬럼명, ~ ] 
  FROM 테이블명
 WHERE 조건절
    OR 조건절

샘플코드

위의 내용을 바탕으로 mysql 예제를 만들어 본다.

테이블 생성부터 삭제까지 진행하며 중간에 있는 SELECT 구문의 OR 조건절만 확인하면 된다.

OR 조건절은 여러개가 있다고 해도 조건이 적합하다면 결과를 보여준다.

서로 다른 데이터가 많더라도 같은 컬럼 또는 서로 다른 컬럼이더라도 상관없다.

전체 쿼리는 아래와 같다.

/** tb_sample 테이블을 생성 */
CREATE TABLE tb_sample (
	idx INT,
	company VARCHAR(250),
	title VARCHAR(250),
	content TEXT,
	insert_date DATETIME,
	update_date DATETIME
)
;

/** tb_sample 테이블에 데이터 추가  */
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES( '1', '현대자동차', '제목1', '내용1', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES( '2', '기아자동차', '제목2', '내용2', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES
( '3', '현대자동차', '제목3', '내용3', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES ( '4', '기아자동차', '제목4', '내용4', NOW(), NOW() )
;
INSERT INTO tb_sample ( idx, company, title, content, insert_date, update_date )
VALUES ( '5', '쌍용자동차', '제목5', '내용5', NOW(), NOW() )
;

SELECT * FROM tb_sample
;

SELECT * FROM tb_sample
 WHERE company = '현대자동차'
    OR company = '기아자동차'
;

SELECT * FROM tb_sample
 WHERE title = '제목1'
    OR title = '제목3'
;

SELECT * FROM tb_sample
 WHERE company = '현대자동차'
    OR title = '제목3'
;

/** tb_sample 테이블 데이터 삭제  */
DELETE FROM tb_sample
;

/** tb_sample 테이블 데이터 완전 삭제  */
TRUNCATE tabLE tb_sample
;

/** tb_sample 테이블 삭제  */
DROP TABLE tb_sample
;

/*-----*/

위의 내용에서 OR 조건절은 같은 컬럼에서 서로 다른 데이터를 검색하기도 하고, 다른 컬럼에서 서로 다른 데이터를 검색하기도 한다.

즉, 조건만 맞으면 결과를 화면에 표현한다.

결과화면을 보자.

반응형

댓글