-
DB Oracle 테이블 생성, 데이터 입력/조회하는 방법(2)Programming and Database/SQL 2022. 12. 23. 12:07반응형
DB Oracle 테이블 생성, 데이터 입력/조회하는 방법(2)
▶ 앞선 스키마(유저) 생성부터 테이블 생성까지 한 뒤 데이터를 입력하였습니다. 다음은 데이터를 조회하기 위해서 SELECT 문을 통해서 입력한 데이터를 조회하도록 하겠습니다.
SELECT * FROM MEMBERTBL; MEMBERID MEMBE MEMBERADDRESS -------- ----- -------------------- Son 손흥민 잉글랜드 토트넘 Lee 이강인 스페인 마요르카 Hwang 황희찬 잉글랜드 울버햄튼 Kim 김민재 이탈리아 나폴리
▶ CLI 환경에서 SELECT를 통해 MEMBERTBL 테이블의 전체 칼럼을 조회하게 되면 해당 행(RAW)의 값들이 위와 같이 출력되게 됩니다. SLECET * FROM MEMBERTBL;
▶ SELECT 구문을 통해서 전체 테이블을 조회 시 방대한 데이터를 조회하게 되면 서버에서 조회하는 시간이 오래 걸릴 수 있고 또한 조인을 통해서 여러 테이블을 참고하게 되면(앞으로 포스팅 예정) 성능에 영향을 미칠 수 있게 되어 조회 시 정확한 조건 또는 조회하고 싶은 칼럼에 대해서 조회하는 것이 좋습니다.
SELECT MEMBERID, MEMBERNAME FROM MEMBERTBL; MEMBERID MEMBE -------- ----- Son 손흥민 Lee 이강인 Hwang 황희찬 Kim 김민재
▶ 주소를 제외한 아이디와 이름만 조회하기 위해서 다음 SQL문을 실행합니다. SELECT MEMBERID, MEMBERNAME FROM MEMBERTBL;
▶ MEMBERTBL 테이블에서 손흥민이라는 정보에 대해서만 조회하기 위해서 다음과 같이 SQL문을 수행할 수 있습니다. MEMBERTBL에서 PK를 MEMBERID로 지정했기 때문에 고유의 값이며 중복이 되지 않고 NULL 값을 가질 수 없기 때문에 수많은 데이터가 있더라도 겹치지 않게 됩니다.
SELECT * FROM MEMBERTBL WHERE MEMBERNAME='손흥민'; MEMBERID MEMBE MEMBERADDRESS -------- ----- -------------------- Son 손흥민 잉글랜드 토트넘
▶ SELECT * FROM MEMBERTBL WHERE MEMBERNAME='손흥민';
▶ 다음은 SELECT 문을 통해서 MEMBERTBL 테이블에서 손흥민과 황희찬이라는 이름으로 조회를 했을 때 AND 구문을 사용하게 되면 조회가 되지 않는 것을 확인할 수 있습니다.
★AND와 OR의 차이★
AND 연산자
- SQL 논리 연산자 중 하나
- 앞뒤의 조건이 모두 True이면 True
- WHERE 절 내부에서 두 조건을 모두 만족하는 경우만 필터링
OR 연산자
- SQL 논리 연산자 중 하나
- 앞뒤의 조건이 하나 이상이 True이면 True
- WHERE 절 내부에서 두 조건을 어느 한쪽 또는 둘 다 만족하는 경우를 필터링▶ 해당 조건은 OR 조건절을 만족시키기 위해서 손흥민 이면서 황희찬을 찾을 수 있게 조건을 추가해야 하고 OR을 사용하여 조회하면 결과 값을 확인할 수 있습니다.
SELECT * FROM MEMBERTBL WHERE MEMBERNAME = '손흥민' OR MEMBERNAME = '황희찬'; MEMBERID MEMBE MEMBERADDRESS -------- ----- -------------------- Son 손흥민 잉글랜드 토트넘 Hwang 황희찬 잉글랜드 울버햄튼
▶ SELECT * FROM MEMBERTBL WHERE MEMBERNAME = '손흥민' OR MEMBERID = '황희찬' SQL문을 통해서 MEMBERNAME이 손흥민 이면서 황희찬을 찾을 수 있게 됩니다.
▶ SELECT * FROM MEMBERTBL을 통해서 != 문을 사용하게 되면 NOT을 의미하기 때문에 MEMBERNAME 중에서 황희찬을 제외하고 조회를 하게 되면 다음과 같이 결과 값을 확인할 수 있습니다.
SELECT * FROM MEMBERTBL WHERE MEMBERNAME != '황희찬'; MEMBERID MEMBE MEMBERADDRESS -------- ----- -------------------- Son 손흥민 잉글랜드 토트넘 Lee 이강인 스페인 마요르카 Kim 김민재 이탈리아 나폴리
▶ SELECT * FROM MEMBERTBL WHERE MEMBERNAME != '황희찬'; SQL문을 실행합니다.
▶ 앞선 OR 조건으로 손흥민, 황희찬 이름을 조회하기 위해서 WHERE 조건절 뒤에 MEMBERNAME의 칼럼명을 2번 작성하였는데 in을 사용하여 RAW(행)의 값을 포함하여 결과 값을 조회할 수 있습니다.
SELECT * FROM MEMBERTBL WHERE MEMBERNAME in ('손흥민','이강인'); MEMBERID MEMBE MEMBERADDRESS -------- ----- -------------------- Son 손흥민 잉글랜드 토트넘 Lee 이강인 스페인 마요르카
▶ SELECT * FROM MEMBERTBL WHERE IN ('손흥민', '이강인'); SQL문을 통해서 손흥민과 이강인이라는 이름을 테이블에서 조회할 수 있습니다.
2022.12.22 - [Programming and Database/SQL] - DB Oracle 테이블 생성, 데이터 입력/조회하는 방법(1)
2022.12.22 - [Programming and Database/SQL] - DB Oracle 스키마 생성하는 방법
PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.
포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.
반응형'Programming and Database > SQL' 카테고리의 다른 글
DB Oracle 뷰(View) 테이블 생성 및 저장 프로시저 사용하는 방법 (6) 2023.01.11 DB Oracle 트리거(Trigger) 생성을 통한 데이터 관리하는 방법 (10) 2023.01.10 DB Oracle 테이블 생성, 데이터 입력/조회하는 방법(1) (6) 2022.12.22 DB Oracle 스키마 생성하는 방법 (14) 2022.12.22 DB MYSQL 기본 다지기[4편] - 참(TRUE) 및 거짓(FALSE) (12) 2022.06.13