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

mysql 이건 오류인가요?.

작성자 정보

  • 깅이이ㅣ 작성
  • 작성일

컨텐츠 정보

본문

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

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

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

mysql> select id_name, juso, food
    -> from id as a, id2 as b, id3 as c
    -> where a.num=c.num
    -> and a.nation=b.nation;
+---------+------+------------+
| id_name | juso | food       |
+---------+------+------------+
| kim     | kkk  | apple      |
| hong    | ooo  | strawberry |
| hong    | ooo  | strawberry |
| hoog    | kkk  | kewii      |
| hong    | ooo  | apple      |
| hong    | ooo  | apple      |
+---------+------+------------+
6 rows in set (0.00 sec)

mysql>

이 출력결과는 정말 오류같내요.
결과 몇번이고 봤는데, 도저히나올수 없는결과에요.  확인부탁드립니다.

관련자료

댓글 5

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
아, 그리고 마지막에 where 절로해서 조건을 지정해 주고싶은데
예를들어 where id_name='kim' 이런식으로하잖아요
그럼 3개의 테이블이 있는데 아무 테이블에 있는 레코드로 해도상관없나요?.
조건이 뭐죠?.
예를들어서 id란 테이블에는 num 이란 레코더가 있고,
id3에도 num이 있는데, where num=1; 이런식으로 해도 되냐는 말이죠.
상관없나요?...
전 계속실험해봐도안되던데...

SFWM님의 댓글의 댓글

  • SFWM
  • 작성일
그런경우에는 테이블명까지 같이 지정해주셔야 합니다. id테이블의 num 레코드에 대해 조건을 거신다면 where id.num=1 이런 식으로 해보세요.

SFWM님의 댓글

  • SFWM
  • 작성일
NUM을 만족하는 경우대로 나열해보면
1 을 만족하는 경우는

|NUM  ID_NAME  NATION |  sub  juso  NATION |  NUM  sub  food|
1        kim          korea      kor    kkk    korea    1        eng    apple

2 를 만족하는 경우는
|NUM  ID_NAME  NATION |  sub  juso  NATION |  NUM  sub  food|
2        park        jappan    X      X        X          2        kor  strawberry  -> 출력안됨
2        hong        china      mat  ooo  china      2        kor  strawberry
2        hong        china      kor    ooo  china      2        kor  strawberry
2        park        jappan    X      X        X          2        mat  apple          -> 출력안됨
2        hong        china      mat  ooo  china      2        mat  apple
2        hong        china      kor    ooo  china      2        mat  apple
     
3 을 만족하는 경우는
|NUM  ID_NAME  NATION |  sub  juso  NATION |  NUM  sub  food|
3        yang        spain      X      X        X          3        mat  kewii      -> 출력안됨
3        hong        korea      kor  kkk      korea    3        mat  kewii

이렇게해서 총 6개가 나옵니다. 표로 그려보면 알기 쉽습니다.

깅이이ㅣ님의 댓글

  • 깅이이ㅣ
  • 작성일
네 고맙습니다. 근대 위에 님께서 표를 그려서 설명까지 해주셨는데, 왜 그런지 제가 머리가 나빠서 그런가보내요...이해가 안되요.;;;
1을 만족하는경우는 이해가 되는데, 2를 만족하는 경우는 이해가 안됩니다;;;

혼잣말님의 댓글

  • 혼잣말
  • 작성일
id 에 2가 2개 있습니다. id2 에 china 가 2개 있습니다. id3에 2가 2개 있습니다.

공지사항


뉴스광장


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