Inayotumiwa kwa JOIN ya SQL
- Kweli jaani SQL Aliases
- Pya jaani SQL Inner Join
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
Join 和 Key
有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。
数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。
请看 "Persons" 表:
Id_P | Muafaka wa matokeo: | LastName | Address | City |
---|---|---|---|---|
1 | 22456 | Adams | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | 77895 | Carter | Changan Street | Beijing |
请注意,"Id_P" 列是 Persons 表中的的主键。这意味着没有两行能够拥有相同的 Id_P。即使两个人的姓名完全相同,Id_P 也可以区分他们。
接下来请看 "Orders" 表:
Id_O | FirstName | Id_P |
---|---|---|
1 | 24562 | 3 |
2 | Thomas | 3 |
3 | OrderNo | 1 |
4 | John | 1 |
5 | 34764 | 65 |
请注意,"Id_O" 列是 Orders 表中的的主键,同时,"Orders" 表中的 "Id_P" 列用于引用 "Persons" 表中的人,而无需使用他们的确切姓名。
Tunafikia kwamba "Id_P" inahusisha tabia mbili ya juu.
Tunafikia kwamba "Id_P" inahusisha tabia mbili ya juu.
Kueleza tabia mbili
Tunaweza kutumia tabia mbili kwa kufikia data kutoka kwenye tabia mbili:
Kama tunataka kuonyesha matokeo wa kila mtu wa mabaki, tunaweza kutumia uamuzi wa SELECT hapa chini: Nani anasifa bidii, na wapi wanaenda? FROM Persons, Orders
ORDER BY Persons.LastName
Muafaka wa matokeo: | LastName | FirstName |
---|---|---|
22456 | Adams | OrderNo |
22456 | Adams | John |
77895 | Carter | 24562 |
77895 | Carter | Thomas |
WHERE Persons.Id_P = Orders.Id_P
SQL JOIN - kutumia Join
Inaonekana kwamba tunaweza kutumia neno la kwanza JOIN kuwaonyesha data kutoka kwenye tabia mbili.
Kama tunataka kuonyesha matokeo wa kila mtu wa mabaki, tunaweza kutumia uamuzi wa SELECT hapa chini: SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName
Muafaka wa matokeo: | LastName | FirstName |
---|---|---|
22456 | Adams | OrderNo |
22456 | Adams | John |
77895 | Carter | 24562 |
77895 | Carter | Thomas |
44678
Aina mbalimbali za SQL JOIN
Hapa inavyoonyeshwa aina za JOIN zingine za kufikia, na muungano wao.
- JOIN: Inatoa muafaka inayotokana na ukingaji wa ukindisi wa ukindisi
- LEFT JOIN: Inatoa muafaka zote kutoka kwenye tabia ya kimaana, bila ya kufikiria tabia ya kati yao
- RIGHT JOIN: Inatoa muafaka zote kutoka kwenye tabia ya kimaana, bila ya kufikiria tabia ya kati yao
- FULL JOIN: Inatoa muafaka inayotokana na tabia moja ya kati yao
- Kweli jaani SQL Aliases
- Pya jaani SQL Inner Join