No.4ベストアンサー
- 回答日時:
>ソフトウェア開発技術者試験のデータベース問題で使う知識
そういう話であれば、結合順や条件式の順序は、結果が異なるのでなければ、どのように書いても問題ありません。
>それとも同じ結果が返ってくるのであれば、何でもいいのでしょうか
凝った記述方式でなく、簡潔で分かりやすい記述方法を心掛けましょう。試験で問われるのは標準SQLでの回答なので、自分のSQLの知識が標準SQLの範囲なのか、特定のRDBMSの独自仕様なのかといったことを、普段から意識しておいた方が良いでしょう。
結合順や条件式の順序で、「良い性能が出せる」といった話は、RDBMSの実装方式の話なので、Oracle MasterやMCDBAなどのベンダー試験ならともかく、情報処理技術者試験では出る範囲ではありません。
なお、結合に関しては、inner joinやleft joinでは、結合条件をonのところで書き、制限条件(結合するため以外の条件)は、whereのところで書きます。RDBMSの実装上、onのところで制限条件もまとめて書くことができるものもありますが、情報処理技術者試験では不正解とされるかも知れません。
No.3
- 回答日時:
SQLServerしか使ったことありませんが。
。。基本的にはデータベース設計で並んでる順に書いたほうがいいですよ。
あとインデックスがあってそれを使うのであればそれも念頭に置くべきです。
あとは一つ目にあげた点と矛盾するかもしれませんが絞込みやすいキー(値の分布が少ないキー)を先頭に持ってくるとか。
No.2
- 回答日時:
まず使用されるRDB名を書いてください。
(Oracle等)RDBによって記述方法が異なってきます。
テーブルの結合順序は通常DB側で最適な順序を割り出しますので
どんな順序で書いても同様の結果が得られます。注意しなければいけないのは、
列A = LEFT(列B,1)
等の関数を含む条件の場合、関数は右辺に書いた方がパフォーマンスが良い事が多いでしょう。
No.1
- 回答日時:
RDBMS名やバージョンを書きましょう。
各RDBMSには、「より性能を出すために考慮すべき事項」があり、そういった情報が公開されている場合があります。
>この条件を書く方法が決まっているのでしょうか
「書く方法」とは、どんなものを想定しての話でしょうか?
表の結合順序、条件式の指定順といった話ですか?
>それとも同じ結果が返ってくるのであれば、何でもいいのでしょうか。
遊びでやっているなら、お好きにどうぞ。
質問が曖昧すぎるので、この質問内容では、誰も具体的なアドバイスはできません。
この回答への補足
私が知りたいのはソフトウェア開発技術者試験のデータベース問題で使う知識です。
明記しておりませんで、申し訳ありません。
>「書く方法」とは、どんなものを想定しての話でしょうか?
>表の結合順序、条件式の指定順といった話ですか?
そのとおりです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- 統計学 どの統計を使えばいいのか教えてください(EZ-Rを使用) 5 2022/10/11 13:28
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle sqlのwhere句で下記の条件にしたい場合どうなるでしょうか。 システム日付が開始日以上、終了日以 2 2022/03/25 21:22
- 金銭トラブル・債権回収 契約書に記載されたとおりクーリングオフをしたのに返金に応じない 1 2022/12/03 10:09
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Excel(エクセル) 条件付き書式 ある範囲で色がついているセルと同行の別のセルに色を付けたい 4 2022/04/20 07:04
- 訴訟・裁判 警察に告訴受理の条件として民事訴訟を提起するよう言われている間に時効が完成した場合 3 2022/12/01 13:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
関係演算子が無効です。
-
9iのSQL:1999構文を使用した外...
-
GROUP BYを行った後に結合した...
-
SELECTで1件のみ取得するには?
-
Excelで、改行がある場合の条件...
-
Oracleでの文字列連結サイズの上限
-
SQL文で右から1文字だけ削除す...
-
Accessで別テーブルの値をフォ...
-
ADO VBA 実行時エラー3021
-
SQLの書き方(チェックボックス)
-
実績累計の求め方と意味を教え...
-
OracleのSQL*PLUSで、デー...
-
アクセスでレポートの1印刷内...
-
Accessでのレコード存在チェック
-
CREATE テーブルでの複数外部...
-
oracleのinsert select性能
-
チェックボックスの項目をDBにi...
-
Access終了時の最適化が失敗?
-
キーが同じを複数行を1行にま...
-
select insertで複数テーブルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関係演算子が無効です。
-
SQL 外部結合についての質問
-
Excel VBAで、Averageの範囲を...
-
TO_CHAR関数における外部結合に...
-
同じテーブルをLEFT JOIN
-
自己相関サブクエリと自己結合...
-
LEFT JOINの条件式で=’’を使用...
-
Informixで文字列を数値型に
-
内部結合する時の結合条件と制...
-
Access 結合条件設定方法
-
T-SQL 動的に優先順ごとにデー...
-
WHERE句の書き方
-
エラー「無効な識別子です」
-
エクセルVBAでSUM関数の位置を...
-
Pro*CでVARCHAR2項目の検索
-
エラー2「無効な識別子です」
-
Oracle SQL 結合の手法について
-
【修正希望】【マクロ】元デー...
-
SQLで後方の文字列を置換する方法
-
range表記をcells表記にしたい
おすすめ情報