rink_rewさんの投稿一覧
「LED」は、辞書で引こうとすると
「LE」よりは後ろになる。
※広辞苑でいえば、「愛(あい)」よりも「間(あいだ)」の方が後ろになるイメージ。同じ理論で「LAN」は「LE」よりは前になる。
※広辞苑でいうところの、「間(あいだ)」が「赤(あか)」より前になるイメージ。「HI~」については、「LE」よりも前。
※そもそも頭文字が「L」より前な「H」なので、
辞書で引いたら圧倒的に早く出てくるといった具合。
そうですね。その理解で良いと思います。
この問題自体は運営さんが既に修正してくれたみたいですが、PostgreSQLの公式マニュアルでも「SELECT FOR UPDATE が〜〜」や「SELECT FOR SHARE を〜〜」といった表現がバンバン使われてはいるので、実際の試験では迷わない設問が出ることを祈りたいですね。
https://www.postgresql.jp/document/14/html/explicit-locking.html#LOCKING-ROWS
その選択肢で言いたい話は、こういうことですよね?
列定義のサイズ(長さ)を指しているので、「列のサイズ」のほうがしっくりくるかなと思いました。
逆に「データのサイズ」だと、実際に格納されているデータのサイズを指しているように感じられました。
SQL> desc tbl_a
名前 NULL? 型
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(10)
SQL> desc tbl_b
名前 NULL? 型
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(20) <--- サイズが異なる
SQL> select * from tbl_a;
ID NAME
---------- ----------
1 AAA
2 BBB
SQL> select * from tbl_b;
ID NAME
---------- --------------------
1 AAA
3 CCC
SQL> select id, name from tbl_a
2 union
3 select id, name from tbl_b;
ID NAME
---------- --------------------
1 AAA
2 BBB
3 CCC <--- 正常に実行できる
SQL>
私も問題文を読んで一瞬「ん?」と思いましたが、
「MANAGER_ID列がNULLの人」 = 「上司という立場の人」
という意味だと認識していました。
なので、「MANAGER_ID列がNULLである部署3の上司について」という文言でも変だと感じなかったのですが、言われてみれば、junext25さんのおっしゃってるようにもとらえられるなとも思いました。
「MANAGER_ID列がNULLのデータを除外する」という目的で「e.manager_id IS NOT NULL」が使われているということは言えるかなと思います。
確かにON句においてフィルタリングの条件的なものを書くことは可能ですが、それも結局は「結合条件」ではと思います。ON句に指定する条件は結合処理時における結合条件、WHERE句は結合結果に対する絞り込み条件を指定するというのが基本ですし。
黒本を書籍を見ても、ON句には結合の条件を指定する例しか記載はなく、Oracle Master SilverSQLとしてはこの理解で良いように思います。