arashi1977さんの助け合いフォーラム投稿一覧

助け合いフォーラムの投稿
2022/05/21 返信
【誤記?】解説を読んでも回答通りの答えになりませんでした。

解説に、「(department_id = 3 OR salary > 400000)」の部分が先に評価され
とあるので、department_idが3であるD,Eもしくはsalaryが400000より大きいA,D,Eが回答の選択肢に入ると私は考えます

まず解説の2行目をみてみます。

AND演算子とOR演算子ではAND演算子のほうが先に評価されますが、()括弧がある場合は、括弧内の演算子を優先して評価します。

これからすると、「かっこ→AND→OR」の順に評価されると読めます。その前提で解説の最後の文を再確認しましょう。

設問では「(department_id = 3 OR salary > 400000)」の部分が先に評価され、次にANDですので、「DEPARTMENT_ID列が3かSALARY列が400000より大きく、かつ COMMISSION列が1200000以下である」列(E)、または、「HIREDATE列が2008年4月1日より大きい(新しい)」列(B,C)が検索されます。

カッコだけの評価ならsushitaroさんの言われる通りかもしれませんが、その次にあるANDが抜けているのでずれているんですよね。
順番としては「(department_idとsalaryの条件) かつ commissionの条件」というひとまとまりがあり、次にORで繋がった「hiredateの条件」がくるのですよね。

算数的に考えると

(A + B) x C + D

で「A + B」だけで終わりにして、Cをかけるのを後回しにして C + D をやろうとしてる感覚です。

sqlite3で実験してみましたが、条件をいじるとこんな感じで結果が変わってきます。

sqlite> SELECT *
   ...> FROM employees
   ...> WHERE (department_id = 3
   ...>  OR salary > 400000) ;
5|500000|2000000|01-10-01 ←A
3|500000|2000000|01-10-01 ←D
3|400000|1200000|02-12-01 ←E
sqlite> SELECT department_id, salary, commission, hiredate
   ...> FROM employees
   ...> WHERE (department_id = 3
   ...>  OR salary > 400000)
   ...>  AND commission <= 1200000;
3|400000|1200000|02-12-01 ←Eだけになっているので、ANDが効いていることがわかる
sqlite> SELECT *
   ...> FROM employees
   ...> WHERE (department_id = 3
   ...>  OR salary > 400000)
   ...>  AND commission <= 1200000
   ...>  OR hiredate > '08-04-01';
1|350000|800000|11-04-01 ←B
4|200000|800000|10-04-01 ←C
3|400000|1200000|02-12-01
↑ hiredateの条件でヒットしたB, Cが抽出されている
2022/04/24 返信
教えて下さい。

もしかして https://mondai.ping-t.com/g/posts/14 と同じでしょうか?

2022/04/19 返信
OSPFのプロセスIDについての気になること

もう解決されてると思いますが。

これは各ルータ自身の中では一致させる必要があるのでしょうか。
いくつかの設定コマンドでrouter ospf [プロセスID]に入って設定するコマンドがありました。
そういったときに、同じルーターにrouter ospf [プロセスID]に入って設定するコマンドの場合、プロセスIDは統一させないといけないのでしょうか。

OSPF(に限らずEIGRPとかRIPとかでも)のプロセスというのは「ルータ内部での管理範囲」みたいなものです。
例としては変かもしれませんが、Excelファイルを複数開いてたとして、Aというファイルに対する編集はBには関係ないですよね?それと同じことで、「OSPFプロセスID:1に属しているインターフェース、ルーティング情報」は「OSPFプロセスID:2」とは別物になるのです。

それの何が嬉しいの?って話ですが、これはかなりの大規模じゃないとあまりメリットはないかな…CCNPのVRFとかと関連づけると嬉しさがわかってくるかもしれません。

2022/04/19 コメント
VRF設定し直しの際のIPアドレスの設定について
先頭の2行とも引用になってますが、引用したかったのは1行目だけでした… orz
2022/04/19 返信
VRF設定し直しの際のIPアドレスの設定について

選択肢では(一旦exitしているとはいえ)IPアドレスを設定し直しているように見えます。
し直してますね。そうするとこんな感じのことが起きるのです。

Router#show vrf ←VRF未設定
Router#sh ip int br
Interface                  IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0         unassigned      YES unset  administratively down down
GigabitEthernet0/1         unassigned      YES unset  administratively down down
GigabitEthernet0/2         unassigned      YES unset  administratively down down
GigabitEthernet0/3         unassigned      YES unset  administratively down down
Router#conf t
Router(config)#vrf definition VRF_A
Router(config-vrf)#int g0/0
Router(config-if)#ip addr 192.168.1.1 255.255.255.0
Router(config-if)#do sh ip int br g0/0
Interface                  IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0         192.168.1.1     YES manual administratively down down ←アドレス割り当てできている
Router(config-if)#vrf forwarding VRF_A
% Interface GigabitEthernet0/0 IPv4 disabled and address(es) removed due to enabling VRF VRF_A ←VRF関連付けをしたのでIPアドレス設定が消される
Router(config-if)#do sh ip int br g0/0
Interface                  IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0         unassigned      YES manual administratively down down ←消えている
Router(config-if)#

つまり、「一旦exitしているか」は特に影響なく、 vrf forwarding VRF名 というコマンドの 後に IPアドレス設定をしていなかったらだめ、というだけの話なのです。

2022/04/04 返信
回答文中のvia

「経由する」という意味の英語ですね。
https://ejje.weblio.jp/content/via

戻る