Als «join» getaggte Fragen

Eine SQL-Join-Klausel kombiniert Datensätze aus zwei oder mehr Tabellen oder Ansichten.


3
Namenskonventionen für Spaltennamen und Best Practices
Ich hätte gerne eine Expertenmeinung zu Best Practices, wenn es um die Benennung von Spalten geht . Hintergrund ist laut Wikipedia folgende Syntax: SELECT ... FROM Employees JOIN Timesheets USING (EmployeeID); ist effizienter als SELECT ... FROM Employees JOIN Timesheets ON (Employees.EmployeeID = Timesheets.EmployeeID); Die JOIN ... USINGSyntax funktioniert jedoch …


2
SQL Server Join / Where-Verarbeitungsreihenfolge
Nachdem ich Slow SQL-Abfragen gelesen hatte und nicht sicher war, wie ich sie optimieren sollte , dachte ich über die allgemeine Leistung von Abfragen nach. Sicherlich müssen die Ergebnisse der ersten Tabelle (wenn andere Tabellen verknüpft werden) vor dem Verknüpfen so klein wie möglich sein (innere Verknüpfungen für diese Frage), …



1
Warum verwendet die Unterabfrage Parallelität und der Join nicht?
Warum verwendet SQL Server Parallelität, wenn diese Abfrage ausgeführt wird, die eine Unterabfrage verwendet, jedoch keine, wenn ein Join verwendet wird? Die Join-Version wird seriell ausgeführt und dauert ca. 30-mal länger. Join-Version: ~ 30secs Unterabfrage-Version: <1 Sekunde BEARBEITEN: XML-Versionen des Abfrageplans: JOIN-Version SUBQUERY-Version

2
Index für Primärschlüssel wird beim einfachen Join nicht verwendet
Ich habe die folgenden Tabellen- und Indexdefinitionen: CREATE TABLE munkalap ( munkalap_id serial PRIMARY KEY, ... ); CREATE TABLE munkalap_lepes ( munkalap_lepes_id serial PRIMARY KEY, munkalap_id integer REFERENCES munkalap (munkalap_id), ... ); CREATE INDEX idx_munkalap_lepes_munkalap_id ON munkalap_lepes (munkalap_id); Warum wird in der folgenden Abfrage keiner der Indizes für munkalap_id verwendet? …

2
Sonderfall der Oracle Outer Join-Syntax
Ich habe Folgendes in einer Abfrage gesehen, die von der Oracle-Outer-Join-Syntax auf die SQL-Standard-Outer-Join-Syntax portiert werden sollte: SELECT ... FROM A, B, C, D, E WHERE A.A_ID = B.A_ID AND B.B_ID = C.A_ID(+) AND B.B_KEY = C.B_KEY(+) AND C.C_ID = D.C_ID(+) AND B.A_ID = E.A_ID(+) AND B.B_KEY = E.B_KEY(+) AND …
16 oracle  join  syntax 

2
PostgreSQL-Beitritt mit JSONB
Ich habe diese SQL: CREATE TABLE test(id SERIAL PRIMARY KEY, data JSONB); INSERT INTO test(data) VALUES ('{"parent":null,"children":[2,3]}'), ('{"parent":1, "children":[4,5]}'), ('{"parent":1, "children":[]}'), ('{"parent":2, "children":[]}'), ('{"parent":2, "children":[]}'); Das würde geben: id | data ----+-------------------------------------- 1 | {"parent": null, "children": [2, 3]} 2 | {"parent": 1, "children": [4, 5]} 3 | {"parent": 1, …

4
Rekursives Selbst tritt bei
Ich habe eine commentsTabelle, die vereinfacht werden kann: comments ======= id user_id text parent_id where parent_idist nullwertfähig, kann jedoch ein Schlüssel für den übergeordneten Kommentar sein. Wie kann ich nun selectalle Nachkommen eines bestimmten Kommentars? Die Kommentare können mehrere Ebenen tiefer sein ...



1
DELETE-Zeilen, auf die in anderen Tabellen nicht verwiesen wird
Ich habe zwei Tabellen in einer PostgreSQL 9.3-Datenbank: Tabelle link_replyhat einen Fremdschlüssel mit dem Namen which_group, der auf Tabelle zeigt link_group. Ich möchte alle Zeilen löschen, in link_groupdenen keine verwandte Zeile link_replyvorhanden ist. Klingt einfach genug, aber ich habe damit zu kämpfen. Wird es so etwas Einfaches sein (funktioniert nicht)? …

1
Warum wählt PostgreSQL die teurere Join-Bestellung?
PostgreSQL mit Standardeinstellungen, plus default_statistics_target=1000 random_page_cost=1.5 Ausführung PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Ich habe gesaugt und analysiert. Die Abfrage ist sehr einfach: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.