sql 문 해석좀 부탁드려요!
본문
$sql = " select a.*, b.mb_id, b.mb_nick, b.mb_email, b.mb_homepage
from {$g5['memo_table']} a
left join {$g5['member_table']} b on (a.me_{$unkind}_mb_id = b.mb_id)
where a.me_{$kind}_mb_id = '{$member['mb_id']}'
order by a.me_id desc ";
bbs/memo.php의 한 sql 문인데요.
저위에보면 a.* ,b.mb_id 뭐 이런식으로되잇는데요..
db륿로면 필드는 mb_id로 되잇는데..왜 a,b등이들어가는지이해가 안되네요..
해석좀부탁드릴게요!!!
그리고..sql문에대해 공부할수잇는 사이트 혹시 추천좀해주실수잇을가요!?!?
간단한듯하면서도 복잡하네여..
답변 2
from {$g5['memo_table']} a
left join {$g5['member_table']} b on (a.me_{$unkind}_mb_id = b.mb_id)
memo_table을 짧게 줄여서 a 로 명명하고, member_table을 b 라고 명명한겁니다.
a.me_{$unkind}_mb_id 는 a 테이블에 속한 필드를 말하는거구요.
b.mb_id 는 b 테이블에 속한 필드를 말하는 겁니다.
구글링하면 웬만한 정보는 다 찾으실 수 있습니다.
일반적으로 테이블 하나에서 정보를 가져올 경우엔 문제가 되지 않습니다.
그러나 2개 이상의 테이블에서 정보를 가져오려면 join이라는 방법을 이용합니다.
그럴 경우 긴 테이블 명을 대신할 짧은 이름이 필요한데 위에서는 a와 b라고 했을 뿐입니다.
테이블 여러개에서 가져올 경우엔 좀 더 직관적으로 알아볼 수 있는 단어로 정하겠죠?
a테이블에서 어떤 정보를,
b테이블에서 어떤 정보를...식으로 말입니다.
답변을 작성하시기 전에 로그인 해주세요.