Learning
PostgreSQL

Kapcsolatok (JOIN)

Foreign key alapok, JOIN típusok, INNER/LEFT JOIN minták, aliasok és több JOIN láncolása.

Kapcsolatok (JOIN)

Foreign key példa

CREATE TABLE orders (
  id       SERIAL PRIMARY KEY,
  user_id  INTEGER NOT NULL REFERENCES users(id),
  total    NUMERIC(10, 2) NOT NULL,
  created_at TIMESTAMPTZ DEFAULT NOW()
);

JOIN típusok

TípusMit ad vissza?
INNER JOINcsak egyező sorok
LEFT JOINminden bal oldali + egyezések
RIGHT JOINminden jobb oldali + egyezések
FULL JOINmindkét oldal összes sora

INNER JOIN

SELECT u.name, o.total
FROM users u
JOIN orders o ON u.id = o.user_id;

LEFT JOIN

SELECT u.name, o.total
FROM users u
LEFT JOIN orders o ON u.id = o.user_id;

Több JOIN

SELECT u.name, p.name AS product_name, oi.quantity, oi.price
FROM users u
JOIN orders o ON u.id = o.user_id
JOIN order_items oi ON o.id = oi.order_id
JOIN products p ON oi.product_id = p.id;

Rövid összefoglaló

  • Foreign key adatintegritást ad.
  • INNER/LEFT a leggyakoribb JOIN-ok.
  • Aliasokkal (u, o) olvashatóbb a lekérdezés.

On this page