DELETE JOIN v SQL umožňuje odstranit řádky tabulky na základě podmínek zahrnujících jinou tabulku. Můžeme použít VYMAZAT prohlášení s PŘIPOJIT operaci k provedení DELETE JOIN.
Ke spojení dat z více tabulek používáme JOIN, k odstranění stejných řádků nebo souvisejících řádků z tabulky v té době používáme delete join.
V tomto článku se podíváme, jak odstranit více dat pomocí DELETE pomocí JOIN pomocí MSSQL jako serveru.
Syntax
VYMAZAT stůl 1
Z stůl 1 PŘIPOJIT tabulka2
NA tabulka1.název_atributu = tabulka2.název_atributu
KDE stav
Demo databáze SQL
V tomto tutoriálu DELETE JOIN použijeme v příkladech následující dvě tabulky:
Tabulka 1- Student
| student_id | jméno studenta | studentská_pobočka |
|---|---|---|
| 1001 | PRADEEP | E.C.E |
| 1002 | VOLÁNÍ | E.C.E |
| 1003 | PRANAV | E.C.E |
| 2001 | PADMA | C.S.E |
| 2002 | SRUTHI | C.S.E |
| 2003 | HARSITHA | C.S.E |
| 3001 | AŽ DO | TO |
| 3002 | DRSNÝ | TO |
| 3003 | HARSHINI | TO |
Tabulka 2 – Knihy z knihovny
| lib_id | book_takeen |
|---|---|
| 1001 | 2 |
| 1002 | 3 |
| 1003 | 4 |
| 2001 | 2 |
| 3001 | 3 |
Chcete-li vytvořit tyto tabulky ve vašem systému, napište následující dotazy
MSSQL CREATE DATABASE techcodeview.com; USE techcodeview.com CREATE TABLE student ( student_id VARCHAR(8), student_name VARCHAR(20), student_branch VARCHAR(20) ) CREATE TABLE library_books( lib_id VARCHAR(20), book_taken INT ) INSERT INTO students VALUES( '1001','PRADEEP','E.C.E'), ( '1002','KIRAN','E.C.E'), ( '1003','PRANAV','E.C.E'), ( '2001','PADMA','C.S.E'), ( '2002','SRUTHI','C.S.E'), ( '2003','HARSITHA','C.S.E'), ( '3001','SAI','I.T'), ( '3002','HARSH','I.T'), ( '3003','HARSHINI','I.T') INSERT INTO library_books VALUES( '1001',2), ( '1002',3), ( '1003',4), ( '2001',2), ( '3001',3)>
SQL DELETE JOIN Příklad
Dotaz na odstranění položky knihovny pro ID 1001 pomocí PŘIPOJIT
Dotaz:
DELETE library_books FROM library_books JOIN students ON students.student_id =library_books.lib_id WHERE lib_id= 1001 SELECT * FROM library_books>
Výstup:

Klíčové poznatky o DELETE JOIN
- DELETE JOIN umožňuje odstranit řádky z tabulky na základě podmínky zahrnující jinou tabulku.
- Můžeme použít VYMAZAT pomocí JOIN odstraníte více řádků ze dvou nebo více tabulek.
- Použitím KDE klauzule s JOIN umožňuje specifikovat podmínku pro mazání řádků.
- Pokud je záznam odstraněn z tabulky, budou odstraněny i související záznamy v jiné tabulce