mysql db sql문 작성시 두개의 테이블 join(조인) 후 오름차순이나 내림차순으로 정렬하는 방법(PHP)
php웹프로그래밍 공부중입니다. join(조인)은 2개의 테이블을 하나의 조건으로 결합하는 것이죠. 물론 3개의 테이블도, 4개의 테이블도 결합할 수 있는데요. 결합을 하고 다시 정렬하는 방법은 잘 안나와있어서 적어두려고 합니다.
$sql = “SELECT * FROM student AS s LEFT JOIN address AS a ON s.address2 = a.address_id LEFT JOIN student_n AS sn ON s.studentname2 = sn.student_id WHERE a.address_id=$address_id ORDER BY s.studentname2 ASC” ;
위의 내용을 풀어보면 student라는 테이블을 s라 칭하고, address라는 테이블을 a라 칭합니다. 그리고 스튜던트 테이블의 address2라는 칼럼과 어드레스 테이블의 address_id 컬럼을 매칭시켜서 테이블 조인을 시켰습니다. 다음으로 이렇게 합친 테이블에 student_n이라는 테이블을 sn이라 칭하는데 이 sn 테이블의 student_id라는 컬럼을 student테이블의 studentname2라는 컬럼과 매칭시켜 조인을 시켰습니다. 즉, student, address, student_n이라는 세개의 테이블을 join(조인) 시킨것입니다.
그리고 이렇게 3개의 테이블을 결합한 것에서 studentname2라는 칼럼을 기준으로 오름차순(ASC)으로 정렬하라는 것이죠. 물론 내림차순으로 정렬하려면 DESC라는 명령어를 사용하시면 됩니다. 자세한 내용은 모르셔도 sql명령문에서 2개 이상의 테이블을 조인(join)할때와 조인한 여러 테이블에서 내림차순 혹은 오름차순으로 정렬(order by)하는 방법에 대해 문법의 순서를 알아두시면 될 것 같습니다.