trdsql 簡単なSQL その2
Posted on:
検索条件
前回、列の並べ替え、抽出、行の並べ替えをしたので、今回は行の抽出です。 行を抽出するには、WHEREを付けて、検索条件を書きます。
前回と同じ例のファイルを使います。
SQLのメインな機能ですね。検索条件を書くだけで、該当する行を出力できます。
AND, OR
AND や OR や ()括弧を使用することにより複雑な条件が書けます。
前回にも書いたようにtrdsqlでは、CSVやLTSV、JSONの値をtext型として扱っています。そのため、「=」の条件で書いているときには、暗黙のCASTが効いて型をそれほど意識しなくても良いですが、範囲を指定するときには結果が変わってしまうので、CASTする必要があります。
SELECTを使用するときは、列の指定のところでCASTを使用して、そのCASTした列を指定して検索条件やORDER BYを書くことが出来ます。
その際には元の列名はCAST前の列を指しているので、AS 別名を使用してCAST後の列名を使用します(CAST後の列名に元の名前を付けることは出来ます)。
IN
WHEREの条件として、=や ‘>’、< の範囲指定以外にIN句が使用できます。
複数の指定をORでつないで書いていたのをIN句により簡潔に書くことができます。
また、IN句の使い方として、列側を並べて書くことで、複数の列を一度に検索条件にできます。 例えば、idかnameに ‘Apple’がある行を検索できます。