ʵÀý½²½âMySQLÁªºÏ²éѯ
ÔÚ½²MySQLµÄJoinÓ﷨ǰ»¹ÊÇÏȻعËÒ»ÏÂÁª½áµÄÓï·¨£¬ºÇºÇ£¬ÆäʵÁ¬ÎÒ×Ô¼º¶¼ÍüµÃ²î²»¶àÁË£¬ÄǾʹó¼ÒÒ»ÆðÎÂϰ°É£¨Èç¹ûÄÚÈÝÓдíÎó»òÓÐÒÉÎÊ£¬¹úÄÚ¹ØÓÚMySQLÁª½á²éѯµÄ×ÊÁÏÊ®·ÖÉÙ£¬ÏàÐÅ´ó¼ÒÔÚ¿´Á˱¾Îĺó»á¶ÔMySQLÁª½áÓï·¨ÓÐÏ൱ÇåÎúµÄÁ˽⣬Ҳ²»»á±»OracleµÄÍâÁª½áµÄ£¨“£«”ºÅ£©ÅªµÃºýÍ¿ÁË¡£
ÔÚSQL±ê×¼Öй滮µÄ£¨Join£©Áª½á´óÖ·ÖΪÏÂÃæËÄÖÖ£º
1£® ÄÚÁª½á£º½«Á½¸ö±íÖдæÔÚÁª½á¹ØÏµµÄ×ֶηûºÏÁª½á¹ØÏµµÄÄÇЩ¼Ç¼ÐγɼǼ¼¯µÄÁª½á¡£
2£® ÍâÁª½á£º·ÖΪÍâ×óÁª½áºÍÍâÓÒÁª½á¡£
×óÁª½áA¡¢B±íµÄÒâ˼¾ÍÊǽ«±íAÖеÄÈ«²¿¼Ç¼ºÍ±íBÖÐÁª½áµÄ×Ö¶ÎÓë±íAµÄÁª½á×ֶηûºÏÁª½áÌõ¼þµÄÄÇЩ¼Ç¼ÐγɵļǼ¼¯µÄÁª½á£¬ÕâÀï×¢ÒâµÄÊÇ×îºó³öÀ´µÄ¼Ç¼¼¯»á°üÀ¨±íAµÄÈ«²¿¼Ç¼¡£
ÓÒÁª½áA¡¢B±íµÄ½á¹ûºÍ×óÁª½áB¡¢AµÄ½á¹ûÊÇÒ»ÑùµÄ£¬Ò²¾ÍÊÇ˵£º
Select A.name B.name from A Left Join B On A.id=B.id
ºÍSelect A.name B.name from B Right Join A on B.id=A.idÖ´ÐкóµÄ½á¹ûÊÇÒ»ÑùµÄ¡£
3£®È«Áª½á£º½«Á½¸ö±íÖдæÔÚÁª½á¹ØÏµµÄ×ֶεÄËùÓмǼȡ³öÐγɼǼ¼¯µÄÁª½á£¨Õâ¸ö²»ÐèÒª¼ÇÒ䣬ֻҪÊDzéѯÖÐÌáµ½Á˵ıíµÄ×ֶζ¼»áÈ¡³ö£¬ÎÞÂÛÊÇ·ñ·ûºÏÁª½áÌõ¼þ£¬Òò´ËÒâÒå²»´ó£©¡£
ʵÀý½²½âMySQLÁªºÏ²éѯ.ÄÇÏÂÃæ¾Í¾ßÌå½²½²¼òµ¥µÄJOINµÄÓ÷¨ÁË¡£Ê×ÏÈÎÒÃǼÙÉèÓÐ2¸ö±íAºÍB£¬ËûÃǵıí½á¹¹ºÍ×ֶηֱðΪ£º
±íA£º
ID
Name
1
Tim
2
Jimmy
3
John
4
Tom
±íB£º
ID
Hobby
1
Football
2
Basketball
2
Tennis
4
Soccer
1£® ÄÚÁª½á£º
Select A.Name B.Hobby from A, B where A.id = B.id£¬ÕâÊÇÒþʽµÄÄÚÁª½á£¬²éѯµÄ½á¹ûÊÇ£º
Name
Hobby
Tim
Football
Jimmy
Basketball
Jimmy
Tennis
Tom
Soccer
ËüµÄ×÷ÓÃºÍ Select A.Name from A INNER JOIN B ON A.id = B.idÊÇÒ»ÑùµÄ¡£ÕâÀïµÄINNER JOIN»»³ÉCROSS JOINÒ²ÊÇ¿ÉÒԵġ£
2£® Íâ×óÁª½á
Select A.Name from A Left JOIN B ON A.id = B.id£¬µäÐ͵ÄÍâ×óÁª½á£¬ÕâÑù²éѯµÃµ½µÄ½á¹û½«»áÊDZ£ÁôËùÓÐA±íÖÐÁª½á×ֶεļǼ£¬ÈôÎÞÓëÆäÏà¶ÔÓ¦µÄB±íÖеÄ×ֶμǼÔòÁô¿Õ£¬½á¹ûÈçÏ£º
Name
Hobby
Tim
Football
Jimmy
Basketball£¬Tennis
John
Tom
Soccer
ËùÒÔ´ÓÉÏÃæ½á¹û¿´³ö£¬ÒòΪA±íÖеÄJohn¼Ç¼µÄIDûÓÐÔÚB±íÖÐÓжÔÓ¦ID£¬Òò´ËΪ¿Õ£¬µ«NameÀ¸ÈÔÓÐJohn¼Ç¼¡£
3£® ÍâÓÒÁª½á
Èç¹û°ÑÉÏÃæ²éѯ¸Ä³ÉÍâÓÒÁª½á£ºSelect A.Name from A Right JOIN B ON A.id = B.id£¬Ôò½á¹û½«»áÊÇ£º
Name
Hobby
Tim
Footb
Ïà¹ØÎĵµ£º
1.È¥MysqlµÄ°²×°Ä¿Â¼Ï嵀 binĿ¼Ï ÔËÐÐ MySQLInstanceConfig.exe
ÔÚÓïÑÔÉèÖõÄÒ³ÃæÓÐÈý¸öÑ¡Ïî: standard character set
best support for multilingualism
......
ʲôÊÇË÷Òý£¿
Ë÷
ÒýÓÃÀ´¿ìËÙµØÑ°ÕÒÄÇЩ¾ßÓÐÌØ¶¨ÖµµÄ¼Ç¼£¬ËùÓÐMySQLË÷Òý¶¼ÒÔB-Ê÷µÄÐÎʽ±£´æ¡£Èç¹ûûÓÐË÷Òý£¬Ö´ÐвéѯʱMySQL±ØÐë´ÓµÚÒ»¸ö¼Ç¼¿ªÊ¼É¨ÃèÕû¸ö±íµÄ
ËùÓмǼ£¬Ö±ÖÁÕÒµ½·ûºÏÒªÇóµÄ¼Ç¼¡£±íÀïÃæµÄ¼Ç¼ÊýÁ¿Ô½¶à£¬Õâ¸ö²Ù×÷µÄ´ú¼Û¾ÍÔ½¸ß¡£Èç¹û×÷ΪËÑË÷Ìõ¼þµÄÁÐÉÏÒѾ´´½¨ÁËË÷Òý£¬MySQLÎÞÐèɨÃèÈκμǼ¼´
¿ ......
user±í:
id | name
———
1 | libk
2 | zyfon
3 | daodao
user_action±í:
user_id | action
—————
1 | jump
1 | kick
1 | jump
2 | run
4 | swim
sql:
select id, name, action from user as u
left join user_action a on u.id = a.user_id
result:
id | ......
mysql,mysqldump,µ¼³ö,µ¼³ö±í,ѹËõµ¼³ömysql,mysqlhotcopy,mysql»¹Ô±í
±¾ÎÄÌÖÂÛ MySQL µÄ±¸·ÝºÍ»Ö¸´»úÖÆ£¬ÒÔ¼°ÈçºÎά»¤Êý¾Ý±í£¬°üÀ¨×îÖ÷ÒªµÄÁ½ÖÖ±íÀàÐÍ£ºMyISAM
ºÍ Innodb
£¬ÎÄÖÐÉè¼ÆµÄ MySQL °æ±¾Îª 5.0.22¡£
Ŀǰ MySQL Ö§³ÖµÄÃâ·Ñ±¸·Ý¹¤¾ßÓУºmysqldump¡¢mysqlhotcopy
£¬»¹¿ÉÒÔÓà SQL Óï·¨½øÐб¸·Ý£ºBACK ......