MySQL டேட்டாபேஸ் இன்னர் ஜான் மல்டி டேபிள் உபயோகமா? இடது இடது இணைப்பு பயன்பாட்டு திறன்

MySQL தரவுத்தளம்உள் இணைப்பு பல அட்டவணை பயன்பாடு? இடது இடது இணைப்பு பயன்பாட்டு திறன்

mysql இணைப்பு பயன்பாடு

முந்தைய அத்தியாயங்களில், ஒரு அட்டவணையில் இருந்து தரவை எவ்வாறு படிப்பது என்பதை நாங்கள் கற்றுக்கொண்டோம், இது ஒப்பீட்டளவில் எளிமையானது, ஆனால் உண்மையான பயன்பாடுகளில் பல தரவு அட்டவணைகளிலிருந்து தரவைப் படிக்க வேண்டியது அவசியம்.

இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளில் தரவை வினவ MySQL's JOIN ஐ எவ்வாறு பயன்படுத்துவது என்பதை இந்த அத்தியாயத்தில் காண்போம்.

பல அட்டவணை வினவல்களில் சேர நீங்கள் Mysql's JOIN இன் SELECT, UPDATE மற்றும் DELETE அறிக்கைகளைப் பயன்படுத்தலாம்.

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 புலத்தின் மதிப்பைப் படிக்க மேலே உள்ள இரண்டு அட்டவணைகளையும் இணைக்க:

இன்னர் சேர

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 left join என்பது join என்பதில் இருந்து வேறுபட்டது. MySQL LEFT JOIN ஆனது, வலது அட்டவணையில் தொடர்புடைய தரவு இல்லாவிட்டாலும், இடது தரவு அட்டவணையில் உள்ள எல்லா தரவையும் படிக்கும்.

உதாரணமாக

பின்வரும் உதாரணங்களை முயற்சிக்கவும் chenweiliang_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 RIGHT JOIN

MySQL RIGHT JOIN இடதுபுறத்தில் உள்ள அட்டவணையில் தொடர்புடைய தரவு இல்லாவிட்டாலும், வலதுபுறத்தில் உள்ள தரவு அட்டவணையில் உள்ள அனைத்து தரவையும் படிக்கும்.

உதாரணமாக

பின்வரும் உதாரணங்களை முயற்சிக்கவும் chenweiliang_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 ஐப் பயன்படுத்துதல்

mysqli_query() செயல்பாடு SQL அறிக்கைகளை இயக்க PHP இல் பயன்படுத்தப்படுகிறது, நீங்கள் மேலே உள்ள அதே 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/ ) பகிரப்பட்ட "Multi-table usage of MySQL database inner join? இடதுபுறத்தில் சேரும் பயன்பாட்டுத் திறன்", இது உங்களுக்கு உதவும்.

இந்தக் கட்டுரையின் இணைப்பைப் பகிர வரவேற்கிறோம்:https://www.chenweiliang.com/cwl-488.html

சமீபத்திய புதுப்பிப்புகளைப் பெற, சென் வெலியாங்கின் வலைப்பதிவின் டெலிகிராம் சேனலுக்கு வரவேற்கிறோம்!

🔔 சேனல் டாப் டைரக்டரியில் மதிப்புமிக்க "ChatGPT Content Marketing AI கருவி பயன்பாட்டு வழிகாட்டியை" பெறுவதில் முதல் நபராக இருங்கள்! 🌟
📚 இந்த வழிகாட்டியில் பெரும் மதிப்பு உள்ளது, 🌟இது ஒரு அரிய வாய்ப்பு, தவறவிடாதீர்கள்! ⏰⌛💨
பிடித்திருந்தால் ஷேர் செய்து லைக் செய்யுங்கள்!
உங்களின் பகிர்வும் விருப்பங்களும் எங்களின் தொடர்ச்சியான ஊக்கம்!

 

发表 评论

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்படாது. தேவையான புலங்கள் பயன்படுத்தப்படுகின்றன * லேபிள்

மேலே உருட்டவும்