令和6年秋期試験 午後問6【データベース】

管理人  
(No.1)
令和6年秋期試験 午後問6(データベース)についての投稿を受け付けるスレッドです。
2024.10.13 00:05
とろろさん 
(No.2)
データベース意味わからんすぎて無事死亡でした
2024.10.13 15:22
匿名さん 
(No.3)
僕もsql書くところが分からなかったです。
上のアは一時テーブルを作成する処理的なので合ってますか?
書き方分からなかったのでクリエイトテーブルって入れちゃいましたが...💦
2024.10.13 15:37
うんちさん 
(No.4)
インデックスとかわかんね〜
主キーにはインデックス付いてますって主キーはツリーインデックス付けなくて良いって意味か?  あれ
2024.10.13 15:38
残念ですさん 
(No.5)
インデックスは、ノーマークでした、、、
2024.10.13 15:39
JJJJaaさん 
(No.6)
スペル間違えたが、  WITH  Recursive ですね
再帰処理です
2024.10.13 15:41
りたさん 
(No.7)
SQLを特化して勉強したけど真っ先に捨てました
2024.10.13 15:44
ababaさん 
(No.8)
DB取るつもりでいたけど1問目見て危険を感じたから文系セットにしました
2024.10.13 15:45
うんちさん 
(No.9)
>>6
なんじゃそれ
CREATE VIEW と UNIONちゃうんかい
2024.10.13 15:48
JJJJaaさん 
(No.10)
Index系はちょっと前方一致とかで怪しいですが、b木インデックスきくっっちゃ効くので、名称となんかのキーIDにそれぞれつけました
2024.10.13 15:49
JJJJaaさん 
(No.11)
>>9
UNIONは合ってると思います
自分もUNION
2024.10.13 15:51
むずかしかた男さん 
(No.12)
a自己参照の1対多の矢印
b-
c追跡番号
d←
eCREATE VIEW
fUNION
g出品.カテゴリID=指定カテゴリ.カテゴリID
hLIKE %:キーワード%
ア、ウ、オ
出品  カテゴリID、出品価格、商品状態、出品状況
カテゴリ  上位カテゴリID

難しかったです
fはUNIONじゃダメですかね〜笑
2024.10.13 15:51
データベースむずいさん 
(No.13)
CREATE VIEWとUNIONでてきた?
LIKEの構文忘れてたんだけど
LIKE ':キーワード'
であってたのかな…
2024.10.13 15:51
ななしさん 
(No.14)
>>6
WITHまでは出てきましたけど再帰処理までは考えられなかったですね…
2024.10.13 15:52
みうさん 
(No.15)
recursiveだけだと部分点なし??
2024.10.13 15:52
名無しさん 
(No.16)
よくわからなくて、WITHとUNION ALLにしました。
2024.10.13 15:52
けんたさん 
(No.17)
LIKE '%:キーワード%' にできるんですかね。。
迷って結局ワイルドカードは付けなかった。
2024.10.13 15:58
ケインさん 
(No.18)
僕も迷ったけど文中で該当の値を格納するいうてるからってワイルドカードつけなかった…
2024.10.13 16:00
助けてさん 
(No.19)
likeってインデックス効くんだっけ?
効かないと思って抜いちゃった〜
2024.10.13 16:01
16歳さん 
(No.20)
LIKEって変数展開必要じゃないですか?
2024.10.13 16:04
DB捨てたさん 
(No.21)
選択問題から5問解いて、データベースが1番自信なかったので捨てました
2024.10.13 16:05
けんたさん 
(No.22)
'%hoge'、'%hoge%'のように前方側で曖昧検索してたらインデックスは効きませんね。
2024.10.13 16:05
テンさん 
(No.23)
実務でOracle使ってるからWITHは分かった
Recursiveってなんスか?実務で使わんもの出すのやめてもろて
2024.10.13 16:06
2回目も落ちたさん 
(No.24)
create viewとwithで分かれてるけどwithが正解ですね。withはテーブル名 asの後は()で囲うけど、create viewは囲わないでそのままselectが来る。
2024.10.13 16:06
あかさまんさん 
(No.25)
WITH  Recursiveと
union all
です。

そういう構文なので
Recursiveがないと多分ダメだし
同様にallがないとダメだと思います
2024.10.13 16:06
けんたさん 
(No.26)
問題文に部分一致があるからLIKE '%:キーワード%' が正しそう。
その場合インデックスは効かないので、最後のインデックスの問題では解答から外す必要がありますね。
2024.10.13 16:08
JJJJaaさん 
(No.27)
Union だけでも動いてたような気がするが‥
つけとくべきだったか。。
実務では確かに使う機会殆ど無いですね
最近だとシーケンス採番とそれサブキーにするやつのInsert文だったかな
2024.10.13 16:15
あゝさん 
(No.28)
LIKEいるのか…%で囲ってるから部分点ください…
2024.10.13 16:16
あまさん 
(No.29)
DB得意だったのにどんどんダメになってくる…
2024.10.13 16:18
うんちさん 
(No.30)
自己参照のER図って矢印どっち巻きとかある?
2024.10.13 16:22
2回目も落ちたさん 
(No.31)
union allでは重複レコードを排除せず検索結果に同じデータが複数表示されると思いunionにしました。
2024.10.13 16:28
2回目も落ちたさん 
(No.32)
自己参照の関連は過去問でどちらでも正解なので大丈夫かと思います。
2024.10.13 16:30
助けてさん 
(No.33)
union all :全部出力
union:同じデータ(重複)を除いて出力

集約関数使われてないから一応どっちでもセーフかも?
2024.10.13 16:32
JJJJaaさん 
(No.34)
>>32 >>33
あざます!
後は無意識に  LIKE  * hoge* にしちゃったので  部分点か正解にしてもらえるかですねw
2024.10.13 16:37
はなよさん 
(No.35)
自分はインデックスは、
ア、ウ、オ
にしましたが皆さんは何にしましたか??
2024.10.13 16:45
はねさん 
(No.36)
WITHはかけたけど
WITH RECURSIVEはむりです。。
2024.10.13 16:58
revengeさん 
(No.37)
ぼくもあ、う、おです
2024.10.13 16:59
ててれとさん 
(No.38)
普通に検索結果だから重複してもいんじゃねって思ってきた
2024.10.13 17:11
うかれさん 
(No.39)
LIKE "%:キーワード%"にした
ぼこぼこです
得点調整あるといいな
2024.10.13 17:17
snownaebaさん 
(No.40)
SQL書くところの一番最初は「CREATE VIEW」だと思ってましたが違うんですかね💦
2024.10.13 17:20
かわぐちさん 
(No.41)
Withのところ、Withにしては空白が長かったような、、、下がUnionで文字数同じなのにWithの空白の方がだいぶ大きかったからCreate tableに書き換えてしまった
2024.10.13 17:34
ミニマムさん 
(No.42)
選んだ時点でドボンの悪問でしたね。
2024.10.13 17:34
おまーるえびさん 
(No.43)
likeのやつ、
LIKE '%'||:キーワード||'%'
にした。
さすがに〇欲しいなあ。。
2024.10.13 17:35
サーモンレッドさん 
(No.44)
使ってる参考書でRECURSIVE見たことないからWITHだけにしてしまった
DBは爆死か…
2024.10.13 17:46
ダメそうさん 
(No.45)
最初WITHだと思ってたけど、指定カテゴリから下位カテゴリをすべて検索するってあったから再帰なのは気づいたけど、RECURSIVEの綴り間違えた
RECURCIVEにしてしまった。。。
2024.10.13 17:49
しょさん 
(No.46)
LIKE '%(:キーワード)%' ってしてもうた。
部分点なしの0点だろうか…
2024.10.13 17:54
mokelevaさん 
(No.47)
最初のハコ、意味わからなさ過ぎたけど
recursiveってなんぞや?!仕事じゃ全く聞いたことないぞそんなの!
当て字に近いけど消去法で入るとしたらこれかと思い「create view」と書きました

>likeってインデックス効くんだっけ?
ここ、めんどくさいところ。

%なにがし% → きかない
なにがし% → きく

要は、インデックスってソート済みデータの様な概念なので、部分一致では利かせようがないのです。

…というのが実務目線の話ですが、試験としてはどうなりますかね。
2024.10.13 18:49
みやみやさん 
(No.48)
ダブルクオートにしちゃった。。
2024.10.13 18:49
mokelevaさん 
(No.49)
あと2つのSQL繋げるところ、うっかりleft joinと書いてしまった。
そうだよね、同じテーブル見ているんだから普通に結合させて良かった。
難易度も後半手が出なかったので、今回の一番のしくじりはここを選んでしまった事でした。
こんなこと考えながらインデックス貼る人なんているの?!
こういう場合、本番データからマスクしてコピーしてきて、実際試すでしょ…
ってこういうこと考えたら試験は負けなんですよね。
ぎゃふん。
2024.10.13 18:52
入社祝いさん 
(No.50)
イ、ウ、オにしちゃったけど3つあってないと◯もらえない?
2024.10.13 19:01
ryoさん 
(No.51)
設問3 (2)出品表でインデックス設定するのは商品状態、出品状況も含みますかね?
Tさんの方針(5%以下~)では対象外なのは分かりますが、
設問では「高速化に寄与する列名」としか記載されていなかったので、高速化はするだろということで回答に加えてましたが・・・
2024.10.13 19:03
尼崎さん 
(No.52)
設問1
a コ (上が←)
b ー
c 追跡番号
d ←
設問2
e WITH
f UNION
g 出品.カテゴリID = 指定カテゴリ.カテゴリID
h LIKE '%:キーワード%'
設問3
(1) ア、ウ、カ
(2)
出品表:出品ID、カテゴリID、商品状態、出品状況
カテゴリ表:カテゴリID、上位カテゴリID

WITHはWITHじゃないの?
RECURSIVEって応用情報問題じゃ完全初見だし仕事でも使ったことない
綴りの難しさ含めてこれを解答させるの酷だと思うんだが…
2024.10.13 19:10
あゝさん 
(No.53)
主キーにはインデックスがあるから、
出品表の出品IDとカテゴリ表のカテゴリIDにはつけなくていい?と予想
2024.10.13 19:19
レイさん 
(No.54)
記号はイ、ウ、オにしました。。
部分点ないですかねぇ…
2024.10.13 19:31
こはさん 
(No.55)
dは→かなと思ったのですが、可能性はどうでしょうか?

フォロー元利用者に対してと、フォロー先に対して。

令和6春でも、同じ方向の矢印が2つある関係があったので、これもそうかなと思った次第です。。
2024.10.13 19:35
2回目さん 
(No.56)
like %:キーワード%じゃだめなのか?
埋め込み変数だから文字列扱いしたらだめな気がしてシングルクォーテーション外したんだけど
2024.10.13 19:36
尼崎さん 
(No.57)
>like %:キーワード%じゃだめなのか?
考えてみるといらん気してきた
SQL実行ツール上でクエリ書く場合はむしろ''で囲むとバインド変数が動かなくなるから
ただstring文字列にしてクエリを変数に読み込ませる場合はいる(その場合 str += 'LIKE %' + :キーワード + '%';みたいな書き方になるけども)
でもIPAもそこまで細かく考えない気がするからあってもなくても採点に影響しなさそう
2024.10.13 19:50
GinSanaさん 
AP プラチナマイスター
(No.58)
この投稿は投稿者により削除されました。(2024.10.13 20:02)
2024.10.13 20:02
チョコさん 
(No.59)
たしかに埋め込み変数だから like %:キーワード% にクォート要らないかも
あってもなくても◯っぽい
2024.10.13 20:02
GinSanaさん 
AP プラチナマイスター
(No.60)
DB編
1
a:コの矢印(自己参照)
b:→(発送.取引先IDの外部参照)
c:追跡番号(P30、表1、項番5)
d:→
2本同じ向きで引くやり方があったか?と思ったが、←の場合、OracleやPostgresにある遅延制約で考えないと相互外部参照でインサートする際に実装のしようがない。ANSI SQLにそんな概念あったのかはわからない。
2
e:WITH RECURSIVE
再帰は実務だとデータ増幅によく使う。
https://www.ipa.go.jp/shiken/mondai-kaiotu/gmcbt8000000ddiw-att/2019h31h_db_pm2_qs.pdf
P15、表10で出たのの焼き直し。
f:UNION ALL
UNION ALL以下を繰り返して結果が出なくなるまで処理をする。
g:指定カテゴリ.カテゴリID=出品.カテゴリID
h:LIKE '%:キーワード%'
シングルクォートはあったほうがよかったような気もするが、些末なことかもしれない
2024.10.13 20:03
canonicalさん 
(No.61)
単純な興味なんですけどLIKE '%:キーワード%'で実際に埋め込み変数の部分一致検索できるDBMSってあるんですかね?業務で同じこと実装しようとしたときこのコードだと無理だった記憶があるんですよ
「LIKE '%' + :キーワード + '%'」「LIKE '%' || :キーワード || '%'」「LIKE CONCAT('%', :キーワード, '%')」あたりだとそういう実行結果になるのは試したことあるんですけど
2024.10.13 20:04
16歳さん 
(No.62)
私もそのままだと変数展開できない認識です!
LIKE '%:キーワード%'だと'キーワード'という固定の文字列で検索されてしまうと思います!
2024.10.13 20:06
canonicalさん 
(No.63)
やっぱりLIKE '%:キーワード%'だと実際には上手くいかないですよね
ただLIKE '%' + :キーワード + '%'の方だと、文字列結合の構文はDBMSごとに違うので、正答がひとつに定まらない問題を出すのか?と思ってかなり迷いました
2024.10.13 20:18
こめさん 
(No.64)
設問3(2)出品表:カテゴリID,商品名,商品説明
    カテゴリ表:カテゴリ名,上位カテゴリID
 
WHRER句で指定&カーディナリティ高中&データ一様分布の列が、インデックス作成による検索パフォーマンス向上が見込めるため、上の回答にしました。
商品状態列や出品状況列はカーディナリティが低なので、インデックス作成効果が薄く、作成対象列から外れると思うのですがいかがでしょうか?
2024.10.13 20:58
こめさん 
(No.65)
補足
主キーは自動でインデックスが作成されるため回答に含めていません
2024.10.13 21:00
GinSanaさん 
AP プラチナマイスター
(No.66)
この投稿は投稿者により削除されました。(2024.10.13 21:22)
2024.10.13 21:22
GinSanaさん 
AP プラチナマイスター
(No.67)
この投稿は投稿者により削除されました。(2024.10.13 21:25)
2024.10.13 21:25
GinSanaさん 
AP プラチナマイスター
(No.68)
CSharpのSystem.Data.OracleClientだとこんな書き方で昔突破できた・・・と思ったら、
よくよく考えたらバインド変数の値自体に%を入れないといけない(like :hogeで、hoge=%fuga%のように)インチキ仕様なのを思い出しました。
やっぱりシングルクォートはあかんかったようで。
2024.10.13 21:25
受験者さん 
(No.69)
問1のbは多分"ー"ですね
どちらのテーブルも単一主キーの結構レアパターン
2024.10.13 21:27
hogeさん 
(No.70)
今回のレベル高いな…
WITH RECURSIVEはデータベーススペシャリストのレベルやろ
2024.10.13 21:32
こはさん 
(No.71)
bは業務要件の記述的に「-」ですかね。間違えました。

hは「LIKE '%:キーワード%'」で通ってほしいです。。。
2024.10.13 21:43
うーんさん 
(No.72)
設問3の(1)ア,ウ,オにしたのですが違いますかね…?
2024.10.13 21:48
gufufuさん 
(No.73)
結局のところ、
LIKE '%:キーワード%'  と  LIKE %:キーワード%
UNION ALL と  UNION
どっちが正解をもらえるんでしょうね。
DBボロボロですから、ちょっとでも点数欲しいなぁ。
2024.10.13 21:51
jogerさん 
(No.74)
ところでSQL文を小文字にしてしまったのですが(例えばwithとかlike)、特に大文字という指定はないしこれでもDBは動くから別に問題ないですよね?
なぜ本文に倣って大文字にしなかったんだ・・・
2024.10.13 22:18
久兵衛さん 
(No.75)
自己採点のため過去問見てるんだけど
今回より難しい回が無い…!
2024.10.13 22:41
jogerさん 
(No.76)
1のbは→と書きたくなるのですが、
「一つの取引は分割して発送できない」と本文にあるので、おそらく「ー」ではないでしょうか
2024.10.13 23:31
たまみさん 
(No.77)
1a ↩️     1b  ー    1c 追跡番号    1d ←
2e WITH RECURSIVE
2f UNION ALL
2g 指定カテゴリ.カテゴリID = 出品.カテゴリID
2h LIKE '%:キーワード%'
3-1  ウ、オ、キ
3-2 出品表: 出品ID、出品者ID、出品価格
3-2 カテゴリ表: カテゴリID、カテゴリ名

たまたま緑本で再帰構造の回をやって印象に残ってたのでWITH RECURSIVEいけましたが、これ書かせようとするのはひどいなあと思いました
b-treeインデックスは知らなかったのでお手上げ
平均点だいぶ低そうだし、3-1で1個や2個正解でも部分点を付けるような救済措置来ないかなと勝手に願っています
2024.10.14 00:08
おーさんさん 
(No.78)
DB選ぶんじゃなかった(泣)
他に移る時間もなかったし。

埋め込み変数に""はおかしいと思って、
LIKE :キーワード
としました。これもおかしいとは思ったけど…。
cは追跡番号か…。
ここで半分取れてないと危ないんだけどなぁ。
2024.10.14 00:18
jogerさん 
(No.79)
チャットGPTに確認したところ3-1はア、ウ、オが正解みたいです
2024.10.14 01:11
jogerさん 
(No.80)
UNIONではなくUNION ALLにした人なんでそうしたんでしょう?
自分は迷った結果重複を含める根拠が見当たらないと思って咄嗟にUNIONにしたのですが
2024.10.14 01:29
2度目ダメそうさん 
(No.81)
まあかなり間違えていますが自分の回答を貼ります。

設問1 : 
(a) (自己参照)
(b) -
(c) 追跡番号
(d) ←
設問2 : 
(e) WITH
(f) UNION
設問3
(1) ア, オ, キ
(2) 出品表 : 商品名, 商品説明, 出品価格
カテゴリ表 : カテゴリ名
2024.10.14 01:34
2度目ダメそうさん 
(No.82)
(g) 出品.カテゴリID = 指定カテゴリ.カテゴリID
(h) SIMILAR TO :キーワード

以上が抜けたので書きますが、similar to は使用用途が違いましたね
2024.10.14 01:36
だめぽさん 
(No.83)
union all にした理由は…
たまたまつい最近仕事で会社のチャットBOTに聞いたらunionは重複削除でパフォーマンスが落ちる的な回答もらってそれ思い出して書きました
いつも重複ない結果になるならunion allの方が良いかなと…
あれ、重複するのか
2024.10.14 03:49
こはさん 
(No.84)
ちなみに、「UNION」と解答しましたが、理由は以下です。

・「UNION」か「UNION ALL」か、悩んだら「UNION」と決めていたから
・空欄の大きさ的に、1語かなと思ったから。

理由よっわww
2024.10.14 04:00
みにあさん 
(No.85)
問3(2)
出品:カテゴリID、出品価格
カテゴリ:カテゴリID
としてみましたが、どうでしょうか…?

出品:
  出品IDはpkだから除外
  出品者IDは、sqlの高速化に寄与しないから除外
  商品名、商品説明は、部分一致でindex効かないから除外
  商品状態、出品状況は、データ分布が一様分布なので5%以下に絞り込めないので除外(ここ考慮に含めるのか悩んだ)

カテゴリ:
  カテゴリIDはpkだから除外
  カテゴリ名は、sqlの高速化に寄与しないから除外
2024.10.14 10:32
お疲れ様さん 
(No.86)
union allが正解でunionが不正解なら6割ギリいかん
2024.10.14 15:08
hayateさん 
(No.87)
UNIONって重複排除の関係でテーブルアクセス回数が増えて性能が落ちるので、実務では極力使わないようにしています。特に今回は再帰処理でループ回数分の差が出るので、UNION ALLが望ましいと思います。(最上位の上位カテゴリがNULLなので重複しない)
試験なので、UNIONも⚪︎でいいとは思います。
2024.10.14 15:50
けんたさん 
(No.88)
この問題だとUNION、UNION ALL共に同じ結果になるのでどちらも正解で良いと思ってます。
業務だと性能面的を重視するのであればUNION ALLを使うべきですが、性能面を加味するような記述もないので。
2024.10.14 16:16
けんたさん 
(No.89)
問3(2)
出品表は、カテゴリID、出品価格 になるかなと。
曖昧検索になるため、商品名、商品説明は除外になります。
カテゴリ表は、上位カテゴリID になりそうですが、問題文が「SQL文の実行性能の高速化に寄与する列名」なので主キーのカテゴリIDも含まれるでしょとか思いましたがどうなんでしょうかね。。
2024.10.14 16:22
16歳さん 
(No.90)
私もUNIONに関しては出力結果が同じなためどちらも正解だと思います
2024.10.14 16:58
GinSanaさん 
AP プラチナマイスター
(No.91)
TAC  令和6年度秋期 情報処理技術者試験  応用情報技術者 講評より

問 6
のデータベースでは,WITH RECURSIVE が空欄になっていたり,インデックスの特徴や仕組みが問われたりするなど,やや難しく感じられました。
特にデータベースの SQL は過去に出題されたテーマは知っているものとして扱われるような印象があり,徐々に深い内容を問う方向にシフトしているように感じられます。
これは前回だか前々回の分析関数もそうなんですが、DBスペシャリストで使ったネタは忘れた頃に使われる傾向があるように思います。
2024.10.14 17:06
こはさん 
(No.92)
dの解答速報が、石田宏実さんと資格部で割れてますね。

多くの人が←としてるんですけど、私は→にしました。

なにか見落とした・・・?
2024.10.14 20:26
16歳さん 
(No.93)
私もdは→にしました
2024.10.14 20:31
DBスペシャリストさん 
(No.94)
フォロー先ユーザーとフォロー元ユーザーの多対多の関係をフォローという中間テーブルで分解して具体的に表現しているだけだから、dは→一択じゃね
「ER図 多対多 分解」とかでググると考え方の記事が出てくる
2024.10.14 21:04
20点満点くださいさん 
(No.95)
a ↩️ b- c 追跡番号 d →
e with recursive
f union all
g 指定カテゴリ.カテゴリID = 出品.カテゴリID
h like concat('%', concat(:キーワード, '%'))
ア, ウ, オ
出品表 カテゴリID, 出品価格
カテゴリ表 上位カテゴリID
2024.10.14 22:14
カキフライさん 
(No.96)
dを→にしたんですが違います?
2024.10.15 00:16
ニッキさん 
(No.97)
私もdは→にしました。
スタディングの解答速報も→ですね。
2024.10.15 01:03
lPAの人さん 
(No.98)
私は←にしました
2024.10.15 01:33
rd9dさん 
(No.99)
普通の多:多だったら⇔でいいじゃんとは思いながら日和って←を書いた...
2024.10.15 07:29
rd9dさん 
(No.100)
それにしても不安になる問題が多いですね。

LIKEはRDBMSによって書き方変わるなぁと思いながら、表紙の方の演算子を見て+が妥当かなと思って
LIKE '%' + :キーワード + '%'
にしました。

WITHもOracleやSQLServerはRECURSIVEを省略しても大丈夫なので、WITHと書いてしまいましたが、RECURSIVEつけとけばよかった。
UNION ALLはもう業務で馴染んでるのでUNIONの頭はなかったですが、ここを見ていると不安になる。。
2024.10.15 07:47
rd9dさん 
(No.101)
連投すみませんが、めっちゃ細かいこというと埋め込み変数に値を渡すときに
%を前後に付けてから渡せばLIKE :キーワードで済むのにw
2024.10.15 07:54
デジタルツインさん 
(No.102)
何を思ったのか、Cを「商品の追跡番号」と書いてしまいました…
セーフであって欲しいですがどうなんでしょう。
2024.10.15 08:51
こはさん 
(No.103)
https://www.ap-siken.com/kakomon/27_aki/pm06.html

上記の過去問のSQLが、今回の問題そっくりでした。
このSQLに倣うと、

e:WITH RECURSIVE
f:UNION ALL

が模範解答で確定。別解に「UNION」でOKになるかというところでしょうか。
2024.10.15 11:10
酒ピラフさん 
(No.104)
この投稿は投稿者により削除されました。(2024.10.15 17:48)
2024.10.15 17:48
16歳さん 
(No.105)
解答速報見る感じUNION ALLじゃないとだめそうですね
2024.10.15 18:10
alertさん 
(No.106)
UNION がダメな理由どこにも無いと思いますが
2024.10.15 18:18
シャーペン派さん 
(No.107)
LIKEはやっぱり変数展開必要なのか?
2024.10.15 18:36
宇佐美さん 
(No.108)
UNIONで部分点もらえないかな?…
その一問の差が結構でかい
2024.10.15 18:58
16歳さん 
(No.109)
別解を用意してくれるTACでもUNIONALLに別解がなかったので厳しいのかなと解釈しました
2024.10.15 19:11
Keeeenさん 
(No.110)
LIKE '%' AND :キーワード AND '%'
と書いてしまった…。
部分点無いかな…。
2024.10.15 19:47
山田さん 
(No.111)
業務でアプリケーション開発をやってる身としては、インデックスの問はサービス問題でした。
今回のように部分一致検索ではインデックスが効かないことも知っていたので。
開発業務をしない方はイメージもしにくく、難問だったかも知れませんが、個人的には業務に活かせる良問だったのではと思います。
2024.10.16 00:45
田中さん 
(No.112)
SQL文って部分点もらえますか?
例えば、LIKE :キーワードと書いた場合など
2024.10.16 00:55
山田さん 
(No.113)
試しに試験内容のテーブルとデータを作ってクエリを実行してみたんですけど、UNION、UNION ALL共に結果は同じでした。
これでUNIONが間違いになるのは解せないですね。
それなら回答が1つのみの問題を作らないとダメでしょと思います。
2024.10.16 01:07
ロナさん 
(No.114)
回答が1つのみの問題を作ってしまうと
裏で合格率の調整や操作ができないでしょ
2024.10.16 07:40
ヨータスさん 
(No.115)
UNIONもUNION ALLも結果が同じで問題文の制約上で解答が一つに縛られるように定められていないならどちらも正解になるのが正しいあり方だと思いますよ。

過去の午後のセキュリティやネットワークの問題でも2要素認証という語が答えになる問題のとき多要素認証・多段階認証・2段階認証 と答えの語が複数ちゃんと割り当てられたりしてますから解答が複数あるという状態になるでしょう。

記述試験なんですから記述の答え方が人によって変わるなんて当然あることなんですし答えをどっちにも合わして採点しないと資格試験として物議を醸すレベルで問題になってしまうと思います。
2024.10.16 07:51
こはさん 
(No.116)
自身もUNIONと答えたから、願望も含まれますが、大丈夫だと思いますよ。

実際にUNIONとUNION ALL両方OKだった過去問があります。

https://www.ap-siken.com/kakomon/31_haru/pm06.html

結果が変わらないと山田さんも実証してくださいましたし、通ると思ってます。
2024.10.16 09:05
Tacさん 
(No.117)
自分の動作環境ではLIKE * : キーワード *で同じ動きするんですが、部分点の見込み0ですかね。これ合ってたら60点なるんですよね。知らんけど。
2024.10.16 09:21
DBスペシャリストさん 
(No.118)
まあこの試験のSQLは標準SQL準拠の前提だからね…その仕様で構文エラーになるようなSQLだとたぶんダメなんじゃないだろうか。知らんけど。
2024.10.16 22:44
ツラタニエンさん 
(No.119)
いつもの癖でDを書く際に、真ん中に横点を付けてしまいました。
不正解、もしくは減点等あり得ますでしょうか...。
2024.10.17 07:43
GinSanaさん 
AP プラチナマイスター
(No.120)
いつもZに斜線入れるような感じなので、そのあたりは特にないんじゃないですかね。
2024.10.17 08:00
ツラタニエンさん 
(No.121)
GinSanaさん
ご回答いただきありがとうございます
安心しました...!
2024.10.17 08:25
ゆうさん 
(No.122)
Itecは「LIKE %:キーワード%」だった
ほんと悪問やね
2024.10.17 20:47
すみださん 
(No.123)
私は1~3の候補が浮かびましたが、3にしました。
この問題に関してはめちゃくちゃ考えて回答を出したので、不正解でも悔いはないです。

1. LIKE %:キーワード%
シングルクォートで囲ってないから文字列として認識されずエラーが出るのから違うか。

2. LIKE '%:キーワード%'
いや、シングルクォートで囲ってるから:キーワードがそのままの文字として認識されないか?

3. LIKE CONCAT('%', CONCAT(:キーワード, '%'))
mysqlでだけど動いた実績あるからこれにしよ。ただ応用情報でCONCAT出たこと無さそうだけど知らね。
2024.10.17 22:58
rd9dさん 
(No.124)
SQLServerに慣れ親しみすぎてLIKE '%' + :キーワード + '%'と書いてしまいましたが、文字列結合の標準はOracleなどで使われている||でTACの答えは正確に思いますね...

問題冊子の最初の方の疑似言語の演算子見て、プラスで間違いないとか思ってましたが、あれはプログラミング用で、SQLは標準があるのでそれを使わないとキツそうですね。
どんな環境でも動作するという考えで採点されると、他のところもRECURSIVE省略不可、とかUNION ALLじゃなきゃダメとなってしまいそう...
2024.10.18 07:32

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop