Identifiers & Escaping
Column and table names
Simple names (letters, numbers, underscores) can be used directly:
SELECT Name, Revenue FROM Customers
Names are case-insensitive — customers, Customers, and CUSTOMERS all reference the same table.
Quoted identifiers
Names containing spaces, special characters, or reserved words must be wrapped in double quotes:
SELECT "First Name", "Last Name" FROM "Customer List"
SELECT "Order Date", "Total Amount" FROM "Order History"
Use double quotes for identifiers, never single quotes. Single quotes are for string literals.
String literals
String values use single quotes:
WHERE Name = 'Alice'
WHERE City = 'New York'
Apostrophes inside strings
When a string itself contains an apostrophe (like O'Brien or Ben's Bakery), you can't just write 'O'Brien' — the parser would think the string ended at the second quote. SQL's solution is to type two single-quotes in a row wherever you want one apostrophe. The parser collapses '' back into ' when it reads the string.
| To get this value | Write this in the query |
|---|---|
O'Brien |
'O''Brien' |
Ben's Bakery |
'Ben''s Bakery' |
It's a "quoted" value |
'It''s a "quoted" value' |
So 'O''Brien' is one string with the value O'Brien — the doubled-up middle quotes look weird but resolve to a single apostrophe. This is standard SQL syntax, not a Konduit quirk. Backslash escapes (\') are not supported.
Double quotes inside a single-quoted string don't need any escaping — they're just regular characters.
Comments
Single-line comments use --:
-- This is a comment
SELECT * FROM Customers -- inline comment too
WHERE Status = 'active'
Multi-line /* ... */ comments are not supported.
Disambiguating columns in joins
When two joined tables have a column with the same name, you must prefix the reference:
SELECT c.Name, o.Name -- both Customer and Order have a Name column
FROM Orders o
LEFT JOIN Customers c ON o.Customer = c.Name
Without the prefix, the parser returns an ambiguous column error.
Reserved words
Common reserved words that need quoting if used as identifiers:
SELECT, FROM, WHERE, JOIN, ON, AS, AND, OR, NOT, IN, IS, NULL, LIKE, BETWEEN, GROUP, BY, ORDER, HAVING, LIMIT, OFFSET, DISTINCT, CASE, WHEN, THEN, ELSE, END, CONTAINS, ANY, ALL, ONLY, DESCRIBE
If your column happens to be named one of these, wrap in double quotes:
SELECT "Order", "Group", "Limit" FROM Stuff
The convention in Konduit is to avoid reserved words as column names — but the engine handles them correctly when quoted.
Next
- Recipes → — practical examples
- Limitations → — what's not supported