మాడ్యూల్ పాఠాలు (3/4)
ఔటర్ జాయిన్: "ఖాళీలు" కనుగొనడం
మాడ్యూల్ 3లో మీరు LEFT JOIN చూసారు: అన్ని అడ్డు వరుసలను ఎడమవైపు ఉంచండి, అవి కూడా
కుడివైపు మ్యాచ్ లేకుండా (ఇది NULL అవుతుంది). ఈ అధ్యాయంలో మనం
RIGHT JOIN మరియు FULL OUTER JOINతో టూల్కిట్ను విస్తరించండి మరియు మేము నేర్చుకుంటాము
డేటాలో **"రంధ్రాలు"**ని కనుగొనడానికి వాటిని ఎలా ఉపయోగించాలి: ఒక పట్టికలోని వరుసలు
మరొకదానిలో ప్రతిరూపం లేదు.
మూడు రకాల OUTER JOIN
A LEFT JOIN B ON … -- tutte le righe di A, con o senza match in B
A RIGHT JOIN B ON … -- tutte le righe di B, con o senza match in A
A FULL JOIN B ON … -- tutte le righe di A *e* di B; NULL dove non c'è matchA RIGHT JOIN Bని ఎల్లప్పుడూ B LEFT JOIN Aగా తిరిగి వ్రాయవచ్చు
ON: ఇది చదవడానికి సంబంధించిన విషయం. అనేక శైలులు (ఈ కోర్సుతో సహా)
స్థిరత్వం కోసం ఎల్లప్పుడూ LEFT JOINని ఉపయోగించడానికి ఇష్టపడతారు.
"యాంటీ-జాయిన్" నమూనా: తప్పిపోయిన వాటిని కనుగొనడం
LEFT JOIN యొక్క అత్యంత సాధారణ ఉపయోగం "డేటాతో సుసంపన్నం" కాదు
కుడివైపు", కానీ ఎడమవైపున సరిపోలిక లేని అడ్డు వరుసలను కనుగొనండి
కుడి. దీనిని యాంటీ-జాయిన్ అంటారు:
-- Prodotti senza nessuna recensione:
SELECT p.id, p.name
FROM products p
LEFT JOIN reviews r ON r.product_id = p.id
WHERE r.id IS NULL
ORDER BY p.id;నమూనా తర్కం:
LEFT JOINప్రతి ఉత్పత్తి యొక్క సమీక్షలు ఏవైనా ఉంటే జోడించబడతాయి;- సమీక్షలు లేని ఉత్పత్తుల కోసం, అన్ని
rనిలువు వరుసలుNULL; WHERE r.id IS NULLఆ ఉత్పత్తులను మాత్రమే ఉంచుతుంది.
కీ చెక్: కుడివైపు పట్టిక యొక్క శూన్యం కాదు నిలువు వరుసలో id IS NULL
అంటే "సరిపోలిక లేదు". మీరు తరచుగా కుడి చేతి యొక్క PKలో ఫిల్టర్ చేస్తారు
ఈ కారణంగా ఖచ్చితంగా పట్టిక.
పూర్తి బయట చేరండి
FULL OUTER JOIN మ్యాచ్ లేకుండా రెండు వైపులా ఉంచుతుంది. ఇది చాలా అరుదుగా ఉపయోగించబడుతుంది,
సాధారణంగా డేటా సమగ్రత తనిఖీల కోసం:
SELECT c.id AS customer_id, o.id AS order_id
FROM customers c
FULL OUTER JOIN orders o ON o.customer_id = c.id
WHERE c.id IS NULL OR o.id IS NULL;c.id IS NULLతో ఉన్న అడ్డు వరుసలు అనాథ ఆర్డర్లు (a customer_id అది
customersలో లేదు). o.id IS NULL ఉన్నవారు కస్టమర్లు
ఆదేశాలు లేకుండా. మా డేటాసెట్లో విదేశీ కీలు అనాథలేనని హామీ ఇస్తున్నాయి
ఆదేశాలు ఉన్నాయి; ఆర్డర్లు లేని కస్టమర్లు మాత్రమే మిగిలి ఉన్నారు.
మీరే ప్రయత్నించండి
త్రోవ టుట్టి ఐ ప్రోడొట్టి చే నాన్ హన్నో మై రైస్వుతో ఉనా రీసెన్సియోన్. మోస్ట్రా సోలో లా కొలోనా పేరు. పేరుకు ఆర్డినా.
సూచనను చూపించు
పాటర్న్ యాంటీ-జాయిన్: LEFT JOIN రివ్యూలు su product_id, poi ఎక్కడ r.id శూన్యం.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
ట్రోవా ఐ క్లయింటీ చే నాన్ హన్నో మై ఆర్డినాటో నుల్లా. అత్యంత ఇమెయిల్. ప్రతి ఇమెయిల్కి ఆర్డినా.
సూచనను చూపించు
Stesso నమూనా dell'esercizio పూర్వగామి, ma fra వినియోగదారులు మరియు ఆర్డర్లు.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది