질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

mysql 조인이요.!

작성자 정보

  • 깅이이ㅣ 작성
  • 작성일

컨텐츠 정보

본문

mysql> select * from id;
+------+---------+--------+
| NUM  | ID_NAME | NATION |
+------+---------+--------+
|    1 | kim     | korea  |
|    2 | park    | jappan |
|    2 | hong    | china  |
|    3 | yang    | spain  |
+------+---------+--------+
4 rows in set (0.00 sec)

mysql> select * from id2;
+------+------+--------+
| sub  | juso | NATION |
+------+------+--------+
| kor  | kkk  | korea  |
| eng  | jjj  | hoko   |
| mat  | ooo  | china  |
| mat  | ooo  | usa    |
+------+------+--------+
4 rows in set (0.00 sec)

mysql> select * from id3;
+------+---------+------------+
| NUM  | sub     | food       |
+------+---------+------------+
|    1 | eng     | apple      |
|    2 | kor     | strawberry |
|    3 | mat     | kewii      |
|    4 | pysical | orange     |
+------+---------+------------+
4 rows in set (0.01 sec)

mysql> select id_name,juso,food          id란 테이블의 num과 id3란테이블의 num 이 같은거니깐.
    -> from id, id2, id3                     1,2,2,3 이렇게잖아요?..2가 두번있으니깐 한번 더 출력 해서 이렇게되고
    -> where id2.sub=id3.sub             그리고 id2란 테이블과 id3란 테이블의 sub가 같은것을 출력 이렇게되면
    -> and id.num=id3.num               kor,mat,eng 이렇게 되거든요??.그럼 여기에 맞해당하는것들을
    -> ;                                          id_num, juso,food 테이블에서 출력해라, 이건데 kkk가 2에 해당하니깐
+---------+------+------------+    두번 출력되는건 이해가 되는데, ooo이것이 왜 두번출력되죠?..
| id_name | juso | food       |              mysql 진짜 이상하내요.  답변부탁드릴게요.
+---------+------+------------+
| kim     | jjj  | apple      |
| park    | kkk  | strawberry |
| hong    | kkk  | strawberry |
| yang    | ooo  | kewii      |
| yang    | ooo  | kewii      |
+---------+------+------------+
5 rows in set (0.00 sec)

mysql>

관련자료

댓글 3

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
아 .이제 이해했다.
stawberry 가 2번 출력되는 이유는 2에 해당하는것이 두개 있어서 그렇고,
kewii가 두번 출려괴는 이유는 mat에 당하는게 두번 있어서 그런거죠?..
ooo가 두번 출력되는 이유도 mat가 두번있어서 그런거 맞죠?

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
의문점 한가지요
and 연산자대신 or연산자를 사용해봤는데 무수희 많은결과를 반환했습니다.
and 연사자를 사용해서 kewii가 두번 출력되는 이유가 3에 해당되어서 1번 그리고 mat에 해당되어서 1번이 출력되었는데, 이건 and 연산자가 1 and 2 이렇경우 1도 출력되고 2도 출력되라 이런뜻으로 알고있는데,
원래 and 연산자는 두쪽모두를 만족해야 출력되는거아닌가요?

SFWM님의 댓글

  • SFWM
  • 작성일
조건A 와 조건B 가 있으때
"조건A and 조건B" 는 조건A 와 조건B를 모두 만족하는 경우를 의미합니다.
"조건A or 조건B" 는 조건A 나 조건B중 하나만이라도 만족하는 경우를 의미합니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,285 명
  • 현재 강좌수 :  36,929 개
  • 현재 접속자 :  354 명