Sobes.tech
Junior

Оператори inner join дар SQL чист ва кай ҳолатҳо бояд истифода шавад?

sobes.tech AI

Ҷавоб аз AI

INNER JOIN дар SQL истифода мешавад барои пайваст кардани сатрҳо аз ду ё бештар таблицаву асоси сутуни пайвастшавӣ байни онҳо. Он танҳо он сатрҳоро бармегардонад, ки шарти пайвастшавӣ дар ҳардуи таблицаву дуруст аст.

Ҳолатҳои истифода:

  • Вақте ки лозим аст маълумотҳоро аз таблицаву пайвастшуда гирем, ки барои ҳар сабт дар як таблица сабти мувофиқ дар дигар вуҷуд дорад.
  • Вақте ки лозим аст сабтҳои умумиро байни ду маҷмӯи маълумот интихоб кунем.
  • Филтркунии маълумотҳо, вақте ки мехоҳем сабтҳоро, ки мувофиқат надоранд, хориҷ кунем.

Масалан:

Мегӯем, ки ду таблица ҳастанд: Users (id, username) ва Orders (id, user_id, amount). Барои гирифтани рӯйхати корбарон ва фармоишҳои онҳо, ки корбарон воқеан фармоиш додаанд, истифода мешавад INNER JOIN:

SELECT
    u.username,
    o.amount
FROM
    Users u
INNER JOIN
    Orders o ON u.id = o.user_id;

Таблица, ки натиҷаро нишон медиҳад:

username amount
user1 100
user2 50
user1 200

Агар user3 дар таблицаи Orders фармоиш надошта бошад, дар натиҷа пайдо намешавад.