• ベストアンサー

初級シスアドの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) になるように思える問題もありました。 いったいどのように理解すればいいのでしょうか。 全く基本的なことで申し訳ありませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keroro001
  • ベストアンサー率23% (71/304)
回答No.3

#1です 参考URL発見。 『論理演算の優先順位とくればNOT→AND→OR』

参考URL:
http://www.jtw.zaq.ne.jp/kayakaya/new/sad/text/sql2.htm
bakachau
質問者

お礼

再度回答ありがとうございます。 今まではBASICやVBAなどでは全てに()を使っていましたので、全く基本を知らずにプログラムしていたようです。 どうもありがとうございました。

その他の回答 (2)

  • YSW
  • ベストアンサー率23% (33/141)
回答No.2

OR = 論理和 AND = 論理積 なので、足し算、掛け算と同じと考えれば、 A+B*C=A+(B*C) AxB+C*D=(A*B)+(C*D)となります。

bakachau
質問者

お礼

回答ありがとうございました。 よくわかりました。

  • keroro001
  • ベストアンサー率23% (71/304)
回答No.1

ANDは掛け算、ORは足し算と考えると、掛け算のほうが優先順位が高くなります。 それと同じ法則になっております。

bakachau
質問者

お礼

早速のご回答ありがとうございます。 ということは、次のように「OR」を優先させたい場合のみ括弧を用いればいいわけでしょうか? (条件A OR 条件B) AND 条件C 因みにこの法則(文法)は、他の言語でも該当するのでしょうか。

関連するQ&A