MySQL డేటాబేస్ ఇన్నర్ జాయిన్ మల్టీ-టేబుల్ యూసేజ్? ఎడమ ఎడమ చేరిక వినియోగ సామర్థ్యం

MySQL డేటాబేస్ఇన్నర్ జాయిన్ బహుళ-పట్టిక వినియోగం? ఎడమ ఎడమ చేరిక వినియోగ సామర్థ్యం

mysql కనెక్షన్ యొక్క ఉపయోగం

మునుపటి అధ్యాయాలలో, మేము ఒక టేబుల్ నుండి డేటాను ఎలా చదవాలో నేర్చుకున్నాము, ఇది సాపేక్షంగా సులభం, కానీ నిజమైన అప్లికేషన్లలో బహుళ డేటా పట్టికల నుండి డేటాను చదవడం తరచుగా అవసరం.

రెండు లేదా అంతకంటే ఎక్కువ పట్టికలలో డేటాను ప్రశ్నించడానికి MySQL యొక్క JOINని ఎలా ఉపయోగించాలో ఈ అధ్యాయంలో మేము మీకు చూపుతాము.

బహుళ-పట్టిక ప్రశ్నలలో చేరడానికి మీరు ఎంపిక, నవీకరణ మరియు తొలగించు ప్రకటనలలో Mysql యొక్క JOINని ఉపయోగించవచ్చు.

JOIN దాని ఫంక్షన్ ప్రకారం క్రింది మూడు వర్గాలుగా విభజించబడింది:

  • ఇన్నర్ జాయిన్ (లోపలి చేరడం, లేదా ఈక్విజోయిన్): రెండు పట్టికలలో సరిపోలే ఫీల్డ్‌లతో రికార్డ్‌లను పొందండి.
  • ఎడమ చేరడం (ఎడమ చేరడం):కుడి పట్టికలో సరిపోలే రికార్డులు లేకపోయినా, ఎడమ పట్టికలో అన్ని రికార్డులను పొందండి.
  • కుడి చేరండి (కుడి చేరండి): LEFT JOINకి విరుద్ధంగా, ఎడమ పట్టికలో సంబంధిత సరిపోలిక రికార్డులు లేనప్పటికీ, కుడి పట్టికలో అన్ని రికార్డులను పొందడానికి ఇది ఉపయోగించబడుతుంది.

కమాండ్ ప్రాంప్ట్‌లో INNER JOINని ఉపయోగించడం

మేము chenweiliang డేటాబేస్లో tcount_tbl మరియు chenweiliang_tbl అనే రెండు పట్టికలను కలిగి ఉన్నాము.రెండు డేటా పట్టికల డేటా క్రింది విధంగా ఉంది:

ఉదాహరణ

కింది ఉదాహరణలను ప్రయత్నించండి:

పరీక్ష ఉదాహరణ డేటా

mysql> use chenweiliang;
Database changed
mysql> SELECT * FROM tcount_tbl;
+---------------+--------------+
| chenweiliang_author | chenweiliang_count |
+---------------+--------------+
| 陈沩亮博客 | 10 |
| chenweiliang.com | 20 |
| Google | 22 |
+---------------+--------------+
3 rows in set (0.01 sec)
 
mysql> SELECT * from chenweiliang_tbl;
+-----------+---------------+---------------+-----------------+
| chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 1 | 学习 PHP | 陈沩亮博客 | 2017-04-12 |
| 2 | 学习 MySQL | 陈沩亮博客 | 2017-04-12 |
| 3 | 学习 Java | chenweiliang.com | 2015-05-01 |
| 4 | 学习 Python | chenweiliang.com | 2016-03-06 |
| 5 | 学习 C | FK | 2017-04-05 |
+-----------+---------------+---------------+-----------------+
5 rows in set (0.01 sec)

తరువాత మనం MySQLని ఉపయోగిస్తాముINNER JOIN (మీరు INNERని కూడా వదిలివేయవచ్చు మరియు JOINని ఉపయోగించవచ్చు, ప్రభావం అదే విధంగా ఉంటుంది)tcount_tbl పట్టికలోని chenweiliang_tbl పట్టికలోని అన్ని chenweiliang_author ఫీల్డ్‌లకు సంబంధించిన chenweiliang_count ఫీల్డ్ యొక్క విలువను చదవడానికి పై రెండు పట్టికలను కనెక్ట్ చేయడానికి:

INNER JOIN

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a INNER JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
+-------------+-----------------+----------------+
4 rows in set (0.00 sec)

ఎగువ SQL స్టేట్‌మెంట్ దీనికి సమానం:

ఎక్కడ నిబంధన

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a, tcount_tbl b WHERE a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
+-------------+-----------------+----------------+
4 rows in set (0.01 sec)

MySQL ఎడమ చేరండి

MySQL ఎడమ చేరడం అనేది చేరడానికి భిన్నంగా ఉంటుంది. కుడి పట్టికలో సంబంధిత డేటా లేనప్పటికీ, MySQL LEFT JOIN ఎడమ డేటా పట్టికలోని మొత్తం డేటాను చదువుతుంది.

ఉదాహరణ

కింది ఉదాహరణలను ప్రయత్నించండి చెన్వీలియాంగ్_tbl ఎడమ పట్టిక కోసం,tcount_tbl కుడి పట్టిక కోసం, MySQL LEFT JOIN అనువర్తనాన్ని అర్థం చేసుకోండి:

ఎడమ చేరండి

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a LEFT JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
| 5 | FK | NULL |
+-------------+-----------------+----------------+
5 rows in set (0.01 sec)

పై ఉదాహరణలో, LEFT JOIN ఉపయోగించబడుతుంది మరియు ఈ స్టేట్‌మెంట్ కుడి వైపున ఉన్న tcount_tbl పట్టికలో chenweiliang_author యొక్క సంబంధిత ఫీల్డ్ విలువ లేకపోయినా, ఎడమ వైపున ఉన్న డేటా టేబుల్ chenweiliang_tbl యొక్క ఎంచుకున్న ఫీల్డ్ డేటా మొత్తాన్ని రీడ్ చేస్తుంది.


MySQL రైట్ జాయిన్

MySQL RIGHT JOIN ఎడమ వైపున ఉన్న పట్టికలో సంబంధిత డేటా లేనప్పటికీ, కుడి వైపున ఉన్న డేటా పట్టికలోని మొత్తం డేటాను రీడ్ చేస్తుంది.

ఉదాహరణ

కింది ఉదాహరణలను ప్రయత్నించండి చెన్వీలియాంగ్_tbl ఎడమ పట్టిక కోసం,tcount_tbl సరైన పట్టిక కోసం, MySQL RIGHT JOIN అప్లికేషన్‌ను అర్థం చేసుకోండి:

కుడి చేరండి

mysql> SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a RIGHT JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author;
+-------------+-----------------+----------------+
| a.chenweiliang_id | a.chenweiliang_author | b.chenweiliang_count |
+-------------+-----------------+----------------+
| 1 | 陈沩亮博客 | 10 |
| 2 | 陈沩亮博客 | 10 |
| 3 | chenweiliang.com | 20 |
| 4 | chenweiliang.com | 20 |
| NULL | NULL | 22 |
+-------------+-----------------+----------------+
5 rows in set (0.01 sec)

ఎగువ ఉదాహరణలో RIGHT JOIN ఉపయోగించబడింది, ఎడమ పట్టిక chenweiliang_tblలో సంబంధిత chenweiliang_author ఫీల్డ్ విలువ లేకపోయినా, కుడి డేటా టేబుల్ tcount_tbl యొక్క ఎంచుకున్న ఫీల్డ్ డేటా మొత్తాన్ని ఈ స్టేట్‌మెంట్ రీడ్ చేస్తుంది.


PHP స్క్రిప్ట్‌లో JOINని ఉపయోగించడం

SQL స్టేట్‌మెంట్‌లను అమలు చేయడానికి PHPలో mysqli_query() ఫంక్షన్ ఉపయోగించబడుతుంది, మీరు పైన పేర్కొన్న అదే SQL స్టేట్‌మెంట్‌ను mysqli_query() ఫంక్షన్ పారామీటర్‌గా ఉపయోగించవచ్చు.

కింది ఉదాహరణను ప్రయత్నించండి:

పరీక్ష ద్వారా MySQL ఆర్డర్:

<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT a.chenweiliang_id, a.chenweiliang_author, b.chenweiliang_count FROM chenweiliang_tbl a INNER JOIN tcount_tbl b ON a.chenweiliang_author = b.chenweiliang_author';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 MySQL JOIN 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>作者</td><td>登陆次数</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['chenweiliang_count']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

హోప్ చెన్ వీలియాంగ్ బ్లాగ్ ( https://www.chenweiliang.com/ ) "MySQL డేటాబేస్ ఇన్నర్ జాయిన్ యొక్క బహుళ-పట్టిక వినియోగం? ఎడమ చేరండి వినియోగ సామర్థ్యం", ఇది మీకు సహాయం చేస్తుంది.

ఈ కథనం యొక్క లింక్‌ను భాగస్వామ్యం చేయడానికి స్వాగతం:https://www.chenweiliang.com/cwl-488.html

తాజా నవీకరణలను పొందడానికి చెన్ వీలియాంగ్ బ్లాగ్ యొక్క టెలిగ్రామ్ ఛానెల్‌కు స్వాగతం!

🔔 ఛానెల్ టాప్ డైరెక్టరీలో విలువైన "ChatGPT కంటెంట్ మార్కెటింగ్ AI టూల్ యూసేజ్ గైడ్"ని పొందిన మొదటి వ్యక్తి అవ్వండి! 🌟
📚 ఈ గైడ్‌లో భారీ విలువ ఉంది, 🌟ఇది ఒక అరుదైన అవకాశం, దీన్ని మిస్ చేయకండి! ⏰⌛💨
నచ్చితే లైక్ చేసి షేర్ చేయండి!
మీ భాగస్వామ్యం మరియు ఇష్టాలు మా నిరంతర ప్రేరణ!

 

发表 评论

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు ఉపయోగించబడతాయి * లేబుల్

పైకి స్క్రోల్ చేయండి