The Natural Join of Mysql -


i'm little confused natural join in mysql.

suppose that: there 2 tables
table1 has columns: id, name, address, number (id pk of table1)
table2 has columns: id, name, number, money (id pk of table2)

i have make "id" of table1 foreign key, referencing "id" of table2

and suppose "number" in table1 "people's number" , "number" in table2 "telephone number" 2 columns have different meaning same name


when natural join of table1 , table2:

does mysql check columns of table1 , table2, name same, means tuple(row) selected ,if , if, "id", "name" , "number" must same (for example, "id" , "name" same "number" different, row not selected)?

or

does mysql check foreign keys created, means row selected , if , if, "id" same?


another question is:

after natural join of table1 , table2, there 1 column called "id" or 2 columns called "table1.id" , "table2.id"??

thanks indeed!

you shouldn't use natural join that, need use left join. table1 parent table? @ least sounds should be, foreign key reference should parent table inserted child table. parent table has 1 entry per reference id , child table may have many, one, or no entries referenced id

select table1.id, table1.number person_number, table2.number phone_number table1  left join table2 on table1.id = table2.id 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -