New World

[PHP+MySQL+PHPAdmin] 서로 다른 테이블의 속성을 select 하여 json 형식으로 만들기 본문

Programming/Languages

[PHP+MySQL+PHPAdmin] 서로 다른 테이블의 속성을 select 하여 json 형식으로 만들기

hyeovi 2020. 8. 8. 01:49
728x90
반응형

안드로이드 파트를 맡은 팀원에게 문자를 받았다.

 

"서로 다른 테이블의 값들을 찾아 json을 통해 보내줄 수 있어?"

 

흠.. 내가 며칠 전에 도전하였을 때는 원하는 결과를 얻지 못하여 포기했었는데 다시 한번 도전해보아야겠다는 생각이 들었다. 먼저, 서로 다른 테이블의 값들을 찾는 것에 대한 방법은 여러가지가 있다.

 

1. 뷰

2. 조인

3. 유니온

 

1. 뷰

뷰는 가상 테이블이자 잠시동안 사용할 때 사용하는 것으로 팀원이 원하는 값을 가져올 수는 있다. 하지만 지속력이 없어서 뷰는 내가 원하는 역할을 제대로 해주지 못할 것이다.

 

2. 조인

조인은 경험이 제일 적은 부분으로 약간의 걱정이 되었지만 서로 다른 테이블을 한데 모으는 데에는 매우 큰 역할을 해주는 것으로 이것도 보류. 조인은 여러가지의 종류가 많기 때문에 무엇을 사용해야할지도 감이 잡히지 않는다.

 

3. 유니온(UNION)

유니온은 서로 다른 테이블을 한데 모을 수는 있지만 한 열에 정렬된다. 한마디로 json 으로 만드는데는 내 능력에 약간의 한계가 존재한다.

 

결국 이 세가지 방법 중 조인을 선택하게 되었다. 조인도 방법이 한 네가지 정도 되었지만 지금 내게 가장 필요한 것은 Left join이었다.

 

SELECT a.필드1, b.필드1, b.필드2 FROM a LEFT JOIN b ON a.필드1 = b.필드1 WHERE b.필드 = a.필드;

 

대충 저런 식으로 사용하였다. 밑에는 내가 사용한 left join이다.

 

SELECT members.m_name, store.s_name, store.s_local FROM members LEFT JOIN store ON members.s_name = store.s_name WHERE store.s_name = (SELECT s_name FROM members WHERE m_email = '".$sm_email."');

반응형

'Programming > Languages' 카테고리의 다른 글

[Ubuntu] 세팅 해보자!  (0) 2021.11.03
[HTML] 로그인 화면 만들기 #1  (0) 2021.01.23
[JSP 공부 #7] JSTL  (0) 2020.06.30
[JSP 공부 #6] 표현 언어(EL)  (0) 2020.06.30
[JSP 공부 #5] JDBC 프로그래밍  (0) 2020.06.30
Comments