sql 질문좀 드려요

sql 질문좀 드려요

QA

sql 질문좀 드려요

본문

<?php
            $sql = "select * from ".$g5['product_table']." where(1)";
$que = sql_query($sql);
                print_r2($que);
                while ($row = sql_fetch_array($que)) {
     $sql2 = "select * from ".$g5['te_table']." where (1) and idx = '".$row['t_idx']."'";

 

te 테이블에는 idx 필드가 있고 product 테이블에는 t_idx가 있는데

select트 문에서 te 테이블에서 te 테이블의 idx 와 product 테이블의 t_idx가 같은 행값을 불러오라고 하는것 같은데 저렇게 할땐 join 을 써서 가져오는거 아닌가요?

여기서 이해가 안되는게 and와 $row 인데 이것좀 설명해주세요...

이 질문에 댓글 쓰기 :

답변 3

while($row = sql_fetch_array($que))

$row 는 $que 쿼리문에 대한 while 반복문의 1행 값을 갖습니다.

$que 쿼리문이 만족할때까지 반복문은 실행이 됩니다.

(1) and

and 가 이 부분을 말씀 하시는 것 같은데요 (1) 은 아무러 역활을 못하는 거짓 쿼리문인데

일종에 php의 if 문을 좀더 편리하게 활용하기 위해서 선언된 것이구요

join 을 쓰는 것이 더 바람직한/효율적인 방법입니다.

 

※ https://sbumseo.tistory.com/84

 


$sql = "
  select t_1.*, t_2.*
    from {$g5['product_table']} as t_1
           inner join {$g5['te_table']} as t_2 on t_1.t_idx = t_2.idx      
";
 
$result = sql_query($sql);
 
while ($row = sql_fetch_array($result)) {
    print_r2($row);
}
답변을 작성하시기 전에 로그인 해주세요.
전체 169
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT