• ベストアンサー
  • すぐに回答を!

SQL文中の論理演算式の優先順位

  • 質問No.10278
  • 閲覧数428
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 67% (117/173)

来週、初級シスアドの試験を受ける者です。
「何を今さら」と思われるかもしれませんが、参考書等に載っていなかったので質問します。

SELECT * FROM 表名 WHERE ○○○ OR △△△ AND □□□

上記のSQL文でWHERE以下の論理演算式を解いていく場合の優先順位を教えて下さい。
問題集の解法では「△△△と□□□の論理積をだした後に○○○との論理和をだす」とありました。
また、「条件式の中の論理演算式の優先順位に注意しなさい」とありました。
この、優先順位を教えて下さい。よろしくお願いします。

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

  • 回答No.3
  • ベストアンサー

ベストアンサー率 46% (643/1383)

SQLServerのヘルプによると、
NOT > AND > OR の順に優先順位が高いそうです。

SELECT * FROM 表名 WHERE ○○○ OR △△△ AND □□□

SELECT * FROM 表名 WHERE ○○○ OR (△△△ AND □□□)
と同じでした。(実験しました)
お礼コメント
osafune

お礼率 67% (117/173)

ARCさん、御回答ありがとうございます。

なるほど!NOTが最優先なんですね。
ORがANDより優先順位が高いというのは、なんとなく想像されたのですが、これでスッキリしました。
ありがとうございました。
投稿日時:0000/00/00 00:00

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 33% (5/15)

#回答ではないです。。。

うわぁ・・・まいったな。

私はいつもSQLを使っているのですが、ご質問のようなSQLの書き方は御法度・厳禁なので、ふと聞かれるとわからないです・・・ (>_<)

企業では、必ず明示的に( )を付けるようにします。
数年後に他の社員が見ても、曖昧なく同じ意図が伝わるようにするためです。
もし、これがシスアドの試験問題だとしたら、本当に試験用のSQLですね。

どなたかが回答を・・・。
お礼コメント
osafune

お礼率 67% (117/173)

Binderさん、コメントありがとうございます。
この問題はシスアドの過去問ではなく、問題集の中の1問です。
しかし、表計算とSQLの問題はエンドユーザレベルではまず使わないだろうと思っていて、試験用だと割り切って勉強しています。
でも、いいんです。初級シスアドの試験は、実務の断片的な知識を、体系的に学べる有意義な機会だと思っていますから・・・
投稿日時:0000/00/00 00:00
  • 回答No.1
一応、C言語の演算子の優先順位を書いた
ページですが、ほかの言語でも通用する
はずです。

ではでは☆
補足コメント
osafune

お礼率 67% (117/173)

Kanataさん、早速の回答ありがとうございました。

御紹介いただいたHPを見に行ったのですが、どうも私には難しくて・・・

その時フト思ったんですが、「ANDは論理積だから×、ORは論理和だから+、だから×の計算を先にしてその後で+の計算をする」という、加減乗除の方法と同じ単純な事なんでしょうか?
投稿日時:2000/10/08 00:45
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ