database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41718 게시물 읽기
No. 41718
where절을 이용한 join에 관한 문의입니다!
작성자
정우리(qpal1zm23)
작성일
2019-05-01 19:48
조회수
2,911

A. select custname,grades from customers ,grades

where (select max(cust_credit_limit) from customers) between startval and endval ;

 

B. select custname, grades from customers, grades

where (select max(cust_credit_limit) from customers) between startval and endval

and cust_credit_limit between startval and endval;

 

여기서 가장 높은 credit limit을 가진 사람의 이름과 등급을 출력하는 쿼리문인데

답은 b 입니다!

근데 왜 a가 안돼는지 잘 모르겠어가지구요...ㅠ

where (select max(cust_credit_limit) from customers) between startval and endval ; 이 문장 만으로 두 테이블을 조인 할 수 없는 건가요?ㅠ

이 글에 대한 댓글이 총 4건 있습니다.

 B 구문도 답이 될 수 없는 것으로 보입니다.

데이터 양이 많은 상태로 

두 쿼리를 모두 실행해 보면 

정우리님이 생각지도 못했던 결과가 출력될 것으로 보입니다.

 

 

박인호(paerae)님이 2019-05-02 10:27에 작성한 댓글입니다.
이 댓글은 2019-05-02 10:27에 마지막으로 수정되었습니다.

문제가 이상한 거였군요...ㅠ 알려주셔서 감사합니다!

정우리님이 2019-05-03 03:04에 작성한 댓글입니다. Edit

a 는 조인이 없으니 오답이구요.
b 는 조인은 있으나? 이상합니다.

SELECT c.custname
     , g.grades
  FROM customers c
     , grades g
 WHERE c.cust_credit_limit = (SELECT MAX(cust_credit_limit) FROM customers)
   AND c.cust_credit_limit BETWEEN g.startval AND g.endval
;

마농(manon94)님이 2019-05-07 00:46에 작성한 댓글입니다.
이 댓글은 2019-05-07 00:46에 마지막으로 수정되었습니다.

이 문제는 OCP Part I SQL 에 관한 문제 같습니다. 

https://vceguide.com/which-two-sql-statements-would-accomplish-the-task-2/

문제는 between 조인을 물어보는 것 같은데, 
between 값의 유효성 체크하는 용도로 쓰일 듯 합니다. 
customers, grades 테이블은 PK로 이어지는 관계는 없습니다. 
cust_credit_limit 는 grades 의 startval and endval 사이에 있다는 거네요. 
customer 의 cust_credit_limit 의 최대값을 갖는 custname 과 
그의 grades 가 저 범위 안에 있을 때만 유효한 듯 합니다. 
 


 

 

lucky님이 2019-05-07 10:43에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41721질문드립니다. MVIEW관련 [2]
hsn
2019-05-09
2563
41720여러줄의 결과를 하나의 결과값으로 받기(textarea에 넣기위해) [2]
개발자
2019-05-03
2822
41719having절에 대한 기초적인 질문 가능 할까요? [1]
정우리
2019-05-03
2633
41718where절을 이용한 join에 관한 문의입니다! [4]
정우리
2019-05-01
2911
41717기초질문: sysdba 로 로그인할때 에러 [2]
김슬기
2019-04-29
2634
41716shell 수행 관련 내용입니다 [1]
탁구공
2019-04-27
2378
41715기간을 연도별로 분할하기 [1]
허광민
2019-04-24
2592
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다