join한 테이블 이용방법 0 4 975

by 신제트 [MySQL] [2022.05.16 10:52:40]


$a="SELECT a.*,b.point_name FROM table_a a INNER JOIN table_b b ON a.table_b_idx=b.idx ORDER BY idx ASC "

이 쿼리문으로 point_name 이라는 필드를 table_a에 합쳤습니다.

table_a

idx b_idx sort
1 1 4
2 2 5

 

table_b

idx point_name total_cnt
1 3 5
2 4 5

그 후에 table_a의 sort 값을 기준으로 하여 table_b의 point_name=3 인것 4인것을 각각 구하려고 하는데 조인문으로 테이블을 합쳤는데

그 테이블 을 활용해서 쿼리를 어떻게 쓸수있을까요 아니면 조인문을 씀과동시에 거기서 바로 조건을 걸어서 뽑아낼수가있나요?

by 신이만든지기 [2022.05.16 11:01:24]
where b.point_name in (3, 4)

이렇게 넣으시거나

inner join table_b b on a.b_idx = b.idx and b.point _name in (3, 4)

이렇게 하시면 되겠습니다.


by 신제트 [2022.05.16 11:05:01]

감사합니다!


by 마농 [2022.05.16 11:02:58]

1. "SELECT *" 사용 지양, 필요한 항목 명확하게 기술
2. "sort" 등 시스템 예약어를 명칭으로 사용 지양, 다른 이름 사용
3. 조건은 WHERE 절에서 처리
4. Basic SQL 강좌 : http://gurubee.net/oracle/sql
5. Select 문 : http://gurubee.net/lecture/1017

SELECT a.idx
     , a.b_idx
     , a.sort
     , b.point_name
  FROM table_a a
 INNER JOIN table_b b
    ON a.b_idx = b.idx
 WHERE b.point_name IN ('3', '4')
 ORDER BY idx
;

 


by 신제트 [2022.05.16 11:05:47]

네 말씀하신대로 쿼리문 짤때 생각하면서 해보겠습니다 감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입