Query language

Short description: Computer language used to make queries into databases and information systems

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)

Template:Lacking overview

(Learn how and when to remove this template message)

|

A query language, also known as data query language or database query language (DQL), is a computer language used to make queries in databases and information systems. In database systems, query languages rely on strict theory to retrieve information.[1] A well known example is the Structured Query Language (SQL).

## Contents

* 1 Types
* 2 Examples
* 3 See also
* 4 References

## Types

Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages. The difference is that a database query language attempts to give factual answers to factual questions, while an information retrieval query language attempts to find documents containing information that is relevant to an area of inquiry. Other types of query languages include:

* Full-text. The simplest query language is treating all terms as bag of words that are to be matched with the postings in the inverted index and where subsequently ranking models are applied to retrieve the most relevant documents. Only tokens are defined in the CFG. Web search engines often use this approach.
* Boolean. A query language that also supports the use of the Boolean operators AND, OR, NOT.
* Structured. A language that supports searching within (a combination of) fields when a document is structured and has been indexed using its document structure.
* Natural language. A query language that supports natural language by parsing the natural language query to a form that can be best used to retrieve relevant documents, for example with Question answering systems or conversational search.

## Examples

* Attempto Controlled English is a query language that is also a controlled natural language.[2]
* AQL is a query language for the ArangoDB native multi-model database system.
* .QL is a proprietary object-oriented query language for querying relational databases; successor of Datalog.
* CodeQL is the analysis engine used by developers to automate security checks, and by security researchers to perform variant analysis on GitHub.
* Contextual Query Language (CQL) a formal language for representing queries to information retrieval systems such as web indexes or bibliographic catalogues.
* Cypher is a query language for the Neo4j graph database.
* DMX is a query language for data mining models.
* Datalog is a query language for deductive databases.
* F-logic is a declarative object-oriented language for deductive databases and knowledge representation.
* FQL enables you to use a SQL-style interface to query the data exposed by the Graph API. It provides advanced features not available in the Graph API.[3]
* Gellish English is a language that can be used for queries in Gellish English Databases, for dialogues (requests and responses) as well as for information modeling and knowledge modeling.[4]
* Gremlin is an Apache Software Foundation graph traversal language for OLTP and OLAP graph systems.
* GraphQL is a data query language developed by Facebook as an alternate to REST and ad-hoc webservice architectures.
* HTSQL is a query language that translates HTTP queries to SQL.
* ISBL is a query language for PRTV, one of the earliest relational database management systems.
* Jaql is a functional data processing and query language most commonly used for JSON query processing.
* JPQL is a query language defined as part of Jakarta Persistence (used in Java applications to make queries to a relational DB using entity objects instead of DB tables).
* jq is a functional programming language often used for processing queries against one or more JSON documents, including very large ones.
* JSONiq is a declarative query language designed for collections of JSON documents.
* KQL (Kusto Query Language), a query language by Microsoft used in Azure Data Explorer
* LDAP is an application protocol for querying and modifying directory services running over TCP/IP.
* LogiQL is a variant of Datalog and is the query language for the LogicBlox system.
* M Formula language, a mashup query language used in Microsoft's Power Query.
* MQL is a cheminformatics query language for a substructure search allowing beside nominal properties also numerical properties.
* MDX is a query language for OLAP databases.
* N1QL is a Couchbase's query language finding data in Couchbase Servers.
* Object Query Language
* OCL (Object Constraint Language). Despite its name, OCL is also an object query language and an OMG standard.
* OPath, intended for use in querying WinFS Stores.
* Poliqarp Query Language is a special query language designed to analyze annotated text. Used in the Poliqarp search engine.
* PQL is a special-purpose programming language for managing process models based on information about scenarios that these models describe.
* PRQL PRQL (Pipelined Relational Query Language) is a modern language for transforming data. Consists of a curated set of orthogonal transformations, which are combined together to form a pipeline.
* PTQL based on relational queries over program traces, allowing programmers to write expressive, declarative queries about program behavior.
* QUEL is a relational database access language, similar in most ways to SQL.
* RDQL is a RDF query language.
* SMARTS is the cheminformatics standard for a substructure search.
* SPARQL is a query language for RDF graphs.
* SQL is a well-known query language and data manipulation language for relational databases.
* XQuery is a query language for XML data sources.
* XPath is a declarative language for navigating XML documents.
* YQL is an SQL-like query language created by Yahoo!.
* Search engine query languages, e.g., as used by Google.[5] or Bing[6]

## See also

* Data control language
* Data definition language
* Data manipulation language
* Path expression

## References

1. ↑ Schmitt, Ingo (January 2008). "QQL: A DB&IR Query Language". The VDLB Journal 17 17: 39–56. doi:10.1007/s00778-007-0070-1. https://link.springer.com/article/10.1007/s00778-007-0070-1.
2. ↑ Norbert E. Fuchs; Kaarel Kaljurand; Gerold Schneider (2006). "Attempto Controlled English Meets the Challenges of Knowledge Representation, Reasoning, Interoperability and User Interfaces". http://attempto.ifi.uzh.ch/site/publications/papers/FLAIRS0601FuchsN.pdf.
3. ↑ "FQL Overview". Facebook Developers. https://developers.facebook.com/docs/technical-guides/fql/.
4. ↑ https://gellish.wiki.sourceforge.net/Querying+a+Gellish+English+database
5. ↑ "Search operators". Google Inc.. https://support.google.com/websearch/answer/2466433?hl=en.
6. ↑ "Bing Query Language". Microsoft. 22 June 2010. https://msdn.microsoft.com/en-us/library/ff795667.aspx.

* v
* t
* e

Database

Main|

* Requirements
* Theory
* Models
* Database management system
* Machine
* Server
* Application
* Connection
* datasource
* DSN
* Administrator
* Lock
* Types
* Tools

Languages|

* Data definition
* Data manipulation
* Query
* information retrieval

Security|

* Activity monitoring
* Audit
* Forensics
* Negative database

Design|

* Entities and relationships (and Enhanced notation)
* Normalization
* Refactoring
* Cardinality

Programming|

* Abstraction layer
* Object-relational mapping

Management|

* Virtualization
* Tuning
* caching
* Migration
* Preservation
* Integrity

See also|

* Database-centric architecture
* Intelligent database
* Two-phase locking
* Locks with ordered sharing
* Load file
* Publishing
* Halloween Problem
* Log shipping

* Book
* Category
* WikiProject

* v
* t
* e

Database management systems

Types|

* Object-oriented
* comparison
* Relational
* comparison
* Document-oriented
* Graph
* NoSQL
* NewSQL

Concepts|

* Database
* ACID
* Armstrong's axioms
* CAP theorem
* CRUD
* Null
* Candidate key
* Foreign key
* Superkey
* Surrogate key
* Unique key

Objects|

* Relation
* table
* column
* row
* View
* Transaction
* Transaction log
* Trigger
* Index
* Stored procedure
* Cursor
* Partition

Components|

* Concurrency control
* Data dictionary
* JDBC
* XQJ
* ODBC
* Query language
* Query optimizer
* Query rewriting system
* Query plan

Functions|

* Administration
* Query optimization
* Replication

Related topics|

* Database models
* Database normalization
* Database storage
* Distributed database
* Federated database system
* Referential integrity
* Relational algebra
* Relational calculus
* Relational database
* Relational model
* Object-relational database
* Transaction processing

* v
* t
* e

Types of сomputer language

Types|

* Architecture description
* Data exchange
* Hardware description
* Knowledge representation
* Markup
* Modeling
* Programming language
* Query
* Shading
* Specification
* Stylesheet
* Transformation

See also|

* Category:Lists of computer languages
* Category:Lists of programming languages
* List of programming languages by type

* v
* t
* e

Programming paradigms

Imperative|

| Structured|

* Jackson structures
* Block-structured
* Modular
* Non-structured
* Procedural
* Programming in the large and in the small
* Design by contract
* Invariant-based
* Nested function

|

Object-oriented|

* Class-based, Prototype-based, Object-based
* Agent
* Immutable object
* Persistent
* Uniform function call syntax

Declarative|

| Functional|

* Recursive
* Anonymous function (Partial application)
* Higher-order
* Purely functional
* Total
* Strict
* GADTs
* Dependent types
* Functional logic
* Point-free style
* Expression-oriented
* Applicative, Concatenative
* Function-level, Value-level
* Monad

|

Dataflow|

* Flow-based
* Reactive (Functional reactive)
* Signals
* Streams
* Synchronous

Logic|

* Abductive logic
* Answer set
* Constraint (Constraint logic)
* Inductive logic
* Nondeterministic
* Ontology
* Probabilistic logic
* Query

Domain-
specific
language
(DSL)|

* Algebraic modeling
* Array
* Automata-based (Action)
* Command (Spacecraft)
* Differentiable
* End-user
* Grammar-oriented
* Interface description
* Language-oriented
* List comprehension
* Low-code
* Modeling
* Natural language
* Non-English-based
* Page description
* Pipes and filters
* Probabilistic
* Quantum
* Scientific
* Scripting
* Set-theoretic
* Simulation
* Stack-based
* System
* Tactile
* Templating
* Transformation (Graph rewriting, Production, Pattern)
* Visual

Concurrent,
parallel|

* Actor-based
* Automatic mutual exclusion
* Choreographic programming
* Concurrent logic (Concurrent constraint logic)
* Concurrent OO
* Macroprogramming
* Multitier programming
* Organic computing
* Parallel programming models
* Partitioned global address space
* Process-oriented
* Relativistic programming
* Service-oriented
* Structured concurrency

Metaprogramming|

* Attribute-oriented
* Automatic (Inductive)
* Dynamic
* Extensible
* Generic
* Homoiconicity
* Interactive
* Macro (Hygienic)
* Metalinguistic abstraction
* Multi-stage
* Program synthesis (Bayesian, by demonstration, by example, vibe coding)
* Reflective
* Self-modifying code
* Symbolic
* Template

Separation
of concerns|

* Aspects
* Components
* Data-driven
* Data-oriented
* Event-driven
* Features
* Literate
* Roles
* Subjects

Comparisons/Lists|

Comparison (multi-paradigm, object-oriented, functional), List (OO, by type)

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Query language. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Query_language&oldid=4344678"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template