Eine Query Language, zu Deutsch Abfragesprache, bezeichnet in der Softwareentwicklung eine Programmiersprache, die eigens für das Arbeiten (Abfragen) mit Datenbeständen bzw. Datenbanken entwickelt wurde. Genauer gesagt handelt es sich um sogenannte Skript-Sprachen, da diese nicht zum Entwickeln großer Anwendungen gedacht sind – was leider so manchen/-er Softwareentwickler/-in nicht davon abhält, entgegen allen Ratschlägen dies doch zu tun. In vielen Datenbankanwendungen wäre das reine Abfragen, also das Lesen von Daten, allerdings funktional etwas mau. Deshalb bieten Abfragesprachen, wie SQL, darüber hinaus alles an, was es braucht, damit eine Datenbank auch wirklich zu etwas gebrauchen ist:
Im Gegensatz zu herkömmlichen Programmiersprachen sind Abfragesprachen auch für Nutzung durch technisch versierte Fachanwender, z.B. Ingenieure oder Finanzanalysten, geeignet – das ist zumindest die weitläufige Meinung. Fakt ist jedenfalls, dass Abfragesprachen bei keiner modernen Datenbank fehlen dürfen und heutzutage aus der Softwareentwicklung nicht mehr wegzudenken sind.
Eine der bekanntesten Datenbank-Abfragesprachen ist sicherlich SQL, was für Structured Query Language steht – jedenfalls seitdem IBM bemerkt hat, dass der ursprüngliche Name SEQUEL (so wird SQL immer noch ausgesprochen) schon für eine Rakete von Hawker Siddeley vergeben war. Das hat allerdings die Abfragesprache nicht an ihrem Siegeszug in der Industrie gehindert. Was sich unter anderem am ISO/IEC 9075-Standard für SQL zeigt. Wie immer gibt es aber Leute, die es besser wissen. Deshalb hat jeder Datenbank-Hersteller auch seinen eigenen SQL-Dialekt entwickelt:
Über SQL hinaus gibt es aber je nach Software-Hersteller noch eine ganze Reihe von anderen Abfragesprachen: