+(deftest :fdml/select/13
+ (multiple-value-bind (results field-names)
+ (clsql:select [emplid] [last-name] :from [employee]
+ :where [= [emplid] 1])
+ (values results (mapcar #'string-downcase field-names)))
+ ((1 "Lenin"))
+ ("emplid" "last_name"))
+
+(deftest :fdml/select/14
+ (floatp (car (clsql:select [height] :from [employee] :where [= [emplid] 1]
+ :flatp t)))
+ t)
+
+(deftest :fdml/select/15
+ (multiple-value-bind (rows field-names)
+ (clsql:select [addressid] [street-number] [street-name] [city_field] [zip]
+ :from [addr]
+ :where [= 1 [addressid]])
+ (values
+ rows
+ (mapcar #'string-downcase field-names)))
+ ((1 10 "Park Place" "Leningrad" 123))
+ ("addressid" "street_number" "street_name" "city_field" "zip"))
+
+(deftest :fdml/select/16
+ (clsql:select [emplid] :from [employee] :where [= 1 [emplid]]
+ :field-names nil)
+ ((1)))
+
+(deftest :fdml/select/17
+ (clsql:select [emplid] [last-name] :from [employee] :where [= 1 [emplid]]
+ :field-names nil)
+ ((1 "Lenin")))
+
+(deftest :fdml/select/18
+ (clsql:select [emplid :string] [last-name] :from [employee] :where [= 1 [emplid]]
+ :field-names nil)
+ (("1" "Lenin")))
+
+(deftest :fdml/select/19
+ (clsql:select [emplid] :from [employee] :order-by [emplid]
+ :where [between [* [emplid] 10] [* 5 10] [* 10 10]]
+ :field-names nil :result-types nil :flatp t)
+ ("5" "6" "7" "8" "9" "10"))
+
+(deftest :fdml/select/20
+ (clsql:select [emplid] :from [employee] :order-by [emplid]
+ :where [not [between [* [emplid] 10] [* 5 10] [* 10 10]]]
+ :field-names nil :result-types nil :flatp t)
+ ("1" "2" "3" "4"))
+
+(deftest :fdml/select/21
+ (clsql:select [substr [first-name] 1 4] :from [employee]
+ :flatp t :order-by [emplid] :field-names nil)
+ ("Vlad" "Jose" "Leon" "Niki" "Leon" "Yuri" "Kons" "Mikh" "Bori" "Vlad"))
+
+(deftest :fdml/select/22
+ (clsql:select [|| [first-name] " " [last-name]] :from [employee]
+ :flatp t :order-by [emplid] :field-names nil)
+ ("Vladamir Lenin" "Josef Stalin" "Leon Trotsky" "Nikita Kruschev"
+ "Leonid Brezhnev" "Yuri Andropov" "Konstantin Chernenko" "Mikhail Gorbachev"
+ "Boris Yeltsin" "Vladamir Putin"))
+
+(deftest :fdml/select/23
+ (clsql:select [emplid] :from [employee] :where [in [emplid] '(1 2 3 4)]
+ :flatp t :order-by [emplid] :field-names nil
+ :result-types nil)
+ ("1" "2" "3" "4"))
+
+(deftest :fdml/select/24
+ (clsql:select [distinct [first-name]] :from [employee] :flatp t
+ :order-by [first-name] :field-names nil :result-types nil)
+ ("Boris" "Josef" "Konstantin" "Leon" "Leonid" "Mikhail" "Nikita" "Vladamir"
+ "Yuri"))
+
+(deftest :fdml/select/25
+ (clsql:select [first-name] :from "employee" :flatp t :distinct t
+ :field-names nil
+ :result-types nil
+ :order-by [first-name])
+ ("Boris" "Josef" "Konstantin" "Leon" "Leonid" "Mikhail" "Nikita" "Vladamir"
+ "Yuri"))
+
+(deftest :fdml/select/26
+ (clsql:select ["table" first-name] ["table" last-name]
+ :from '([employee "table"] [employee "join"])
+ :where [and [= ["table" first-name]
+ ["join" first-name]]
+ [not [= ["table" emplid]
+ ["join" emplid]]]]
+ :order-by '(["table" last-name])
+ :result-types nil :field-names nil)
+ (("Vladamir" "Lenin") ("Vladamir" "Putin")))
+
+(deftest :fdml/select/27
+ (clsql:select [coalesce [managerid] 10] :from [employee] :order-by [emplid]
+ :field-names nil :result-types nil :flatp t)
+ ("10" "1" "1" "1" "1" "1" "1" "1" "1" "1"))
+