On Thu, Sep 29, 2016 at 2:37 PM, James K. Lowden <jklow...@schemamania.org> wrote:
> On Fri, 23 Sep 2016 16:35:07 +0000 > Quan Yong Zhai <q...@msn.com> wrote: > > > Quote << > > A "row value" is an ordered list of two or more scalar values. In > > other words, a "row value" is a vector.>> > > > > A ?row value? is a tuple, not a vector. When your using a tuple, you > > know how many items in it, and the type of each item of it. > > That's correct, and addresses Dominique's point, albeit obliquely: > to use a row-value as a list-argument to IN would be to confuse rows > and columns. A row-value has 1 or more columns, but only one row. > > It would be nice to use row-values correctly in IN: > > select * from T where (a,b) IN ( (1, 'a'), (2, 'b') ) > > Is that valid? > After reading http://modern-sql.com/use-case/select-without-from and given http://sqlite.org/draft/rowvalue.html#search_against_multi_column_keys it seems to me that it should be, albeit with this tiny variation: select * from T where (a,b) IN ( values (1, 'a'), (2, 'b') ) But not tested yet. --DD _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users