Was ist "fortgeschrittenes" SQL?
Suchen in einem job-Beschreibungen, in denen "advanced SQL" ist eine Voraussetzung. Ich kann schreiben, grundlegenden Fragen so gut wie niemand, und arbeiten mit MySQL Datenbanken in einer professionellen Einstellung, aber was würde ich bekommen mit diesen Arbeitsplätzen, wenn ich wurden angeheuert werden? Was sind Beispiele für die erweiterte SQL-und wo bin ich entlang der Skala von SQL noob auf SQL master?
InformationsquelleAutor der Frage |
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist am besten, markiert mit einem Beispiel. Wenn Sie glauben, Sie könnten schreiben Sie die folgende SQL-Anweisung schnell mit wenig/kein Referenz-material, dann würde ich vermuten, dass Sie wahrscheinlich treffen Sie Ihre Erweiterte SQL-Anforderung:
(Quelle der Anfrage)
Und um ehrlich zu sein, das ist eine relativ einfache Abfrage - nur einige inner joins und eine subquery, zusammen mit ein paar gängige Schlagworte (max, min, Fall).
InformationsquelleAutor der Antwort Beep beep
Grundlagen
SELECT
ing Spalten aus einer TabelleCOUNT
SUM
MAX
/MIN
DISTINCT
GROUP BY
HAVING
Intermediate
JOIN
s, ANSI-89 und ANSI-92-syntaxUNION
vsUNION ALL
NULL
Handhabung:COALESCE
& Systemeigene NULL-BehandlungIN
EXISTS
- und inline-AnsichtenWITH
syntax: Subquery Factoring/CTEFortgeschrittene Themen
COMMIT
ROLLBACK
FehlerbehandlungInformationsquelleAutor der Antwort OMG Ponies
Den rest der STELLENAUSSCHREIBUNG auflisten könnte, Kontext bereitzustellen, um eine bessere erraten, was
"Advanced SQL"
können umfassen.Ich bin nicht einverstanden mit den Kommentaren und Antworten, die angibt, dass das Verständnis von Aggregat-und JOIN-Abfragen sind "erweiterte" Fähigkeiten; viele Arbeitgeber betrachten dies eher grundlegende, ich habe Angst. Hier ist eine grobe Vermutung, was "Erweiterte" bedeuten kann.
Es wurde ein "schreckliches" viele neue Sachen in der RDBMS-Domäne, die in den letzten Jahren!
Den "Advanced SQL" Anforderung wahrscheinlich Hinweise auf Kenntnisse und eventuell Kenntnisse in mehreren der neuen Konzepte wie:
Während der Laufenden pro - (und Nachteile) der neuen Funktionen ist eine wichtige Aufgabe für alle "advanced SQL" Praktiker, die alte "advanced fundamentals" sind wohl auch als Teil des "advanced":
Hinweis: die oben genannten konzentriert sich auf Fähigkeiten im Zusammenhang mit der Programmierung/Hauptrolle. "Advanced SQL" könnte auch verweisen auf die Erfahrungen mit administrative Rollen (Replikation, backups, hardware, layout, Benutzerverwaltung...). Kommen zu denken es, eine ernsthafte Programmierer sollte ein wenig vertraut mit solchen Praktiken als gut.
Bearbeiten: LuckyLindy einen Kommentar gepostet, das fand ich sehr einfühlsam. Es deutet darauf hin, dass "Advanced" können effektiv dienen einem anderen Zweck als was die Messe-Experten-Niveau in den meisten der oben genannten Kategorien...
Ich wiederholen Sie diesen Kommentar hier, um ihm mehr Sichtbarkeit.
Ich denke, eine Menge von Unternehmen-post-Fortgeschrittene SQL-weil Sie müde sind, immer jemand, der sagt "ich bin ein SQL-Experte" und hat Schwierigkeiten, die Zusammenstellung eines 3 Tabelle outer join. Ich poste ähnliches in Stellenausschreibungen und meine Erwartung ist, dass ein Kandidat nicht brauchen, um ständig zu mir kommen, um Hilfe schreiben von SQL. (Kommentar von LuckyLindy)
InformationsquelleAutor der Antwort mjv
Ich würde erwarten:
InformationsquelleAutor der Antwort Joe
Check-out SQL For Smarties. Ich dachte, ich war ziemlich gut mit SQL auch, bis ich das Buch Las... Geht in Tonnen Tiefe Gespräche über Dinge, die ich nicht gesehen hab an anderer Stelle (I. E. Differenz zwischen den 3'rd und 4 ' th-Normalform Boyce Codd-Normalform, etc)...
InformationsquelleAutor der Antwort dicroce
Einige "Erweiterte" Funktionen
InformationsquelleAutor der Antwort Scott Weinstein
SELECT ... HAVING ...
ist ein guter Anfang. Nicht viele Entwickler scheinen zu verstehen, wie es zu benutzen.InformationsquelleAutor der Antwort Ignacio Vazquez-Abrams
Ich nehme an, Unterabfragen und PIVOT qualifizieren würde, sowie mehrere joins, unions und dergleichen.
InformationsquelleAutor der Antwort Robert Harvey
Performance-tuning, erstellen von Indizes, gespeicherte Prozeduren, etc.
"Advanced" bedeutet etwas anderes für jedermann. Ich könnte mir vorstellen, dass diese Art der Sache bedeutet etwas anderes für jeden job-poster.
InformationsquelleAutor der Antwort matt b
Wenn Sie sehen, wie Sie buchstabiert heraus in den Anforderungen, die Sie neigen dazu zu gehören:
Inner-und outer-joins sind ein muss, aber ich selten sehen, es genannten Anforderungen. Und es ist erstaunlich, wie viele so genannte db-Profis nicht bekommen kann Ihren Kopf um eine einfache outer-join.
InformationsquelleAutor der Antwort Paul Sasik
In meinem vorherigen job hatten wir eine technische Prüfung, die alle Kandidaten wurden gebeten, sich zu setzen. 10ish Fragen, dauerte etwa eine Stunde. In aller Ehrlichkeit, obwohl, 90% der Fehler werden ausgeblendet, weil Sie nicht schreiben konnte eine INNER JOIN-Anweisung. Nicht einmal einen äußeren.
Ich würde berücksichtigen, dass eine Voraussetzung für jede job-Beschreibung mit SQL und verlassen würde gut allein erst wurde gemeistert. Von dort aus, obwohl, mit Ihnen zu reden - keine weiteren Informationen, was Sie eigentlich suchen, wird im schlimmsten Fall eine nützliche Liste der Dinge, die lernen als Teil Ihrer professionellen Entwicklung.
InformationsquelleAutor der Antwort eftpotrm
"Advanced SQL" ist ein Widerspruch der Begriffe.
InformationsquelleAutor der Antwort Erwin Smout