2016-05-16 14 views
-1

Ich habe eine zwei Tabellen A und B. Ich muss die Daten nur aus einer Tabelle holen, die nicht mit B-Tabelle übereinstimmt (bedeutet Ungewöhnliche Daten aus beiden Tabellen.). Aber Ausgabe sollte nur aus der Tabelle A.Datenbank Abfrage - Ich habe eine zwei Tabellen A und B. Ich muss nur die Daten von

Tabelle Wert A
1, 2, 3,4,5,6

Tabellenwert B
1,2,7,8,9,0


Out Put soll nachfolgend genannten Daten

+0

'Select tableA.value von tableA Exklusionsverknüpfung tableB auf tableA.value! = TableB.value' –

+0

wird es die B-Tabellendaten zeigen auch, . Wir brauchen nur den Wert von Tabelle A. – Rimjhim

+1

SQL 101: 'Wählen Sie a.value from tableA eine linke Join-TabelleB b auf a.value = b.value, wobei b.value null ist;' – Strawberry

Antwort

1

die Sie interessieren, kann für Sie arbeiten;)

select * 
from tablea a 
where not exists(select 1 from tableb b where a.value = b.value) 

SQL Fiddle

MySQL 5.6 Schema:

CREATE TABLE IF NOT EXISTS `tablea` (
    `value` int(11) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

INSERT INTO `tablea` (`value`) VALUES 
    (1), 
    (2), 
    (3), 
    (4), 
    (5), 
    (6); 

CREATE TABLE IF NOT EXISTS `tableb` (
    `value` int(11) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; 

INSERT INTO `tableb` (`value`) VALUES 
    (1), 
    (2), 
    (7), 
    (8), 
    (9), 
    (0); 

Abfrage 1:

Results:

| value | 
|-------| 
|  3 | 
|  4 | 
|  5 | 
|  6 | 
0

können Sie verwenden NOT IN

SELECT * 
FROM TableA 
WHERE _value NOT IN 
(SELECT _value FROM TableB) 
0

können Sie JOIN das gewünschte Ergebnis zu erhalten.

Das Schlüsselwort LEFT JOIN gibt alle Zeilen aus der linken Tabelle (table1) mit den übereinstimmenden Zeilen in der rechten Tabelle (table2) zurück. Das Ergebnis ist NULL auf der rechten Seite, wenn keine Übereinstimmung vorhanden ist.

select a.value 
from tablea a 
left join tableb b on a.value = b.value where b.value is null; 

SQL Fiddle

Ergebnis

| value | 
|-------| 
|  3 | 
|  4 | 
|  5 | 
|  6 | 
Verwandte Themen