ID,email 1,email@example.com 2,firstname.lastname@example.org 3,email@example.com 4,firstname.lastname@example.org 5,email@example.com
$> q -H -d ";" "SELECT persons.name, emails.email FROM persons.csv persons JOIN emails.csv emails ON (persons.id = emails.id) WHERE persons.haircolor = 'brown'" - Result - Max Mustermann firstname.lastname@example.org Otto Normal email@example.com John Doe firstname.lastname@example.org
$> ps aux | q -H "SELECT COMMAND FROM - WHERE STARTED = '24Dez20'" - Result - /System/Library/CoreServices/Santa ...
Performance and Limitations
The current version of q is significantly faster in running SQL queries on CSV files than comparable Go-based tools, such as Textql and Octosql . We would be interested in comparing q with xsv, which can index and process CSVs.
However, we noticed that q does not allow, for example, to execute FROM on a subquery. Another limitation is that q uses SQLite as its single SQL dialect. Further limitations can be found on q's website .
-  http://harelba.github.io/q/
-  http://harelba.github.io/q/#installation
-  https://github.com/harelba/q/blob/master/test/BENCHMARK.md
-  https://github.com/BurntSushi/xsv
Authors: Fionn Fuchs & Maximilian Konzack / Working Student & Software Engineer / Office Leipzig