Was ist der Unterschied zwischen "<" und ">" bei Self-Joins Attributvergleichen?

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Was ist der Unterschied zwischen “<” und “>” bei Self-Joins Attributvergleichen?
Hallo,

was ist der Unterschied im Resultat, wenn ich in der folgenden Anfrage in der WHERE-Klausel statt “>”, “<” schreibe?

Ich hatte es bisher so aufgefasst, dass man alle 4 Operatoren dazu benutzen kann Duplikate in Self-Joins zu eliminieren. Allerdings gibt es scheinbar eine andere Ordnung, je nachdem welcher Operator Anwendung findet. Geht es hierbei dann um alphabetische Ordnung?

Schulklasse(Vorname, Name, Alter)

SELECT s1.vorname, s1.name, s2.vorname, s2.name
FROM Schulklasse s1, Schulklasse s2
WHERE s1.name>s2.name;

Grüsse,
Speedy


[m]
CREATE TABLE Namenstabelle(ID INT PRIMARY KEY , Name VARCHAR(99));
INSERT INTO Namenstabelle VALUES(1, ‘Maier’);
INSERT INTO Namenstabelle VALUES(2, ‘Müller’);
INSERT INTO Namenstabelle VALUES(3, ‘Köhler’);
INSERT INTO Namenstabelle VALUES(4, ‘Schuster’);
INSERT INTO Namenstabelle VALUES(5, ‘Schmied’);
INSERT INTO Namenstabelle VALUES(6, ‘Merkel’);
INSERT INTO Namenstabelle VALUES(7, ‘Picard’);
INSERT INTO Namenstabelle VALUES(8, ‘Riker’);
INSERT INTO Namenstabelle VALUES(9, ‘La Forge’);
INSERT INTO Namenstabelle VALUES(10, ‘Crusher’);
INSERT INTO Namenstabelle VALUES(11, ‘Zulu’);
INSERT INTO Namenstabelle VALUES(12, ‘Xavier’);
INSERT INTO Namenstabelle VALUES(13, ‘Acme’);
INSERT INTO Namenstabelle VALUES(14, ‘Abba’);
INSERT INTO Namenstabelle VALUES(15, ‘Abba’);
INSERT INTO Namenstabelle VALUES(16, ‘Abba’);
[/m]
Die Anfrage:
[m]
select name1.Name from Namenstabelle name1 join
(SELECT n1.id
FROM Namenstabelle n1, Namenstabelle n2
WHERE n1.Name >= n2.Name
GROUP BY n1.ID
HAVING COUNT(*) <= 5) name2 on name1.id = name2.ID;
[/m]
ist sozusagen ähnlich einer TOP-N Anfrage wie in der Vorlesung behandelt.
Sie liefert:
[m]
Crusher
Acme
Abba
Abba
Abba
[/m] unsortiert.