- ベストアンサー
初級シスアドのSQLの「AND」と「OR」について
初期シスアドのSQLの過去問(15年度秋期午後問3設問3)に、下記の[]にORかANDをいれよ、というのがあります。(正解を加えています。) 条件A [OR] 条件B [AND] 条件C 過去問題集には詳しいSQLの文法の解説がないので、意味がわからず困っています。 正解から想像すると、 条件A [OR] (条件B [AND] 条件C) という意味らしいのですが、条件式の優先順位は、括弧がない場合はどのように決まっているのでしょうか。 後ろを優先するとか、改行で判断するとか、そういった決まりがあるのでしょうか? 他にも、 条件A AND 条件B OR 条件C AND 条件D の場合は、 (条件A AND 条件B) OR (条件C AND 条件D) になるように思える問題もありました。 いったいどのように理解すればいいのでしょうか。 全く基本的なことで申し訳ありませんが、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です 参考URL発見。 『論理演算の優先順位とくればNOT→AND→OR』
その他の回答 (2)
- YSW
- ベストアンサー率23% (33/141)
回答No.2
OR = 論理和 AND = 論理積 なので、足し算、掛け算と同じと考えれば、 A+B*C=A+(B*C) AxB+C*D=(A*B)+(C*D)となります。
質問者
お礼
回答ありがとうございました。 よくわかりました。
- keroro001
- ベストアンサー率23% (71/304)
回答No.1
ANDは掛け算、ORは足し算と考えると、掛け算のほうが優先順位が高くなります。 それと同じ法則になっております。
質問者
お礼
早速のご回答ありがとうございます。 ということは、次のように「OR」を優先させたい場合のみ括弧を用いればいいわけでしょうか? (条件A OR 条件B) AND 条件C 因みにこの法則(文法)は、他の言語でも該当するのでしょうか。
お礼
再度回答ありがとうございます。 今まではBASICやVBAなどでは全てに()を使っていましたので、全く基本を知らずにプログラムしていたようです。 どうもありがとうございました。