SQL

F#、C#、SQLで直積

Seq.collectやSelectManyが理解しづらいので簡単なコードで整理してみました。 F# [<Test>] let ``cartesian product`` () = let numbers = seq {for i in 1 .. 3 -> i} let results = numbers |> Seq.collect (fun n1 -> numbers |> Seq.map (fun n2 -> n1, n2)) </test>…

左辺に複数の式を指定する場合のIN演算子

create table foo(a int, b int); select * from foo where (a, b) in ((1,1),(2,2)); OracleとPostgreSQLとMySQLでは使える。 SQL ServerとDB2では使えない。