 (emacsql-defexpander :select (arg)
   "Expands to the SELECT keyword."
   (emacsql-with-vars "SELECT "
-    (cond
-     ((eq '* arg) "*")
-     ((vectorp arg)
-      (mapconcat (lambda (s) (combine (emacsql--expr s))) arg ", "))
-     ((var arg :identifier)))))
+    (if (eq '* arg)
+        "*"
+      (combine (emacsql--idents arg)))))
 
 (emacsql-defexpander :from (table)
   "Expands to the FROM keyword."

(emacsql-defexpander :set (set)
  (emacsql-with-vars "SET "
    (cl-etypecase set
      (vector (mapconcat (lambda (s) (combine (emacsql--expr s))) set ", "))
      (list (combine (emacsql--expr set))))))

(emacsql-defexpander :union ()

      (symbol (var table :identifier))
      (list (cl-destructuring-bind (name columns) table
              (format "%s (%s)" (var name :identifier)
                      (combine (emacsql--idents columns))))))))

(emacsql-defexpander :where (expr)
  (emacsql-with-vars "WHERE "
