誤字脱字間違い情報
本書「SQLプログラミング入門」およびこのホームページ内で間違いがあった場合に掲載します。なお、版数によっては修正されています。
- 本書 P294 例題で
WHERE CUSTOMERS.CUSTOMER_ID = BALANCES.ACCOUNT_ID;
AND CUSTOMERS.CUSTOMER_ID = 6;
の最初の;(セミコロン)は間違いです。削除して考えてください。
- 本書 P175 〜 176 および P330 〜 P331
SQL文およびその結果として使用されている出力の日付の値が
96-xx-xx となっているところがあります。これは、全て
98-xx-xx の間違いです。
- 本書 P175 の例題の答え
between '98-09-01' and '98-09-30' の代替として
like '%09%' が解答として使われています。しかし、これは、本来の意味からすると適切ではありません(年度が指定されなくなる)。表が
98年のものであるという前提がある場合以外は、like
以下を '98-09%'とする必要があります。
- P248 練習問題2の答え(P338)
解答では誤りが2つあると示していますが、ID
NUMERIC の後にカンマ(,) が無いことを含めると3つあります。
- P271のCREATE文
ビューの作成として使用されている2つの例題が
CREATE TABLE となっています。CREATE VIEW
の間違いです。
- P175の練習問題3
問題では、「表を結合する場合、結合対象と検索条件のどちらが先に指定するか?」と問われていますが、これは翻訳時の間違い(監修ミス)です。本来著者が言いたかったことは下記のようになますので、下記のように読み替えて考えて下さい。
「表を結合する場合、WHERE句では、結合と検索のどちらが先に行われますか?」
- P279の注意事項
CREATE UNIQUE INDEX の注意事項として、「ORACLEなどの製品では、UNIQUEのこのような機能をサポートしていません。」と記述がありますが、現在の
Oracle8ではこの構文をサポートしています。また、以前のバージョンのOracleでも、バージョンやプラットフォームによっては動作する場合があります。
- P45の16行目
WHERE NUMBEROFHOURS > 100
の説明として「この例では、NUMBEROFHOURS列の値が100より小さい行だけが返されます。」とありますが、100より大きいの間違いです。
- P61の11行目
WHERE NUMBEROFHOURS > 100
の説明として「この例では、NUMBEROFHOURS列に格納されている値が100より小さい行についてのみ、...」とありますが、100より大きいの間違いです。
- P65のタイトル3.2.3 および 16行目
=<演算子と記述されています。正しくは
<=
演算子です。(等号の場所が逆です。)
- P89 比較演算子の例題について
P90のメモにもあるように BETWEEN では、引数として指定する値そのものも範囲に含まれます。従って、比較演算子の例では、次の
BETWEEN 演算子を使った例とは同一の意味にはなりません。
SELECT *
FROM PRICE
WHERE WHOLESALE >= 25
AND
WHOLESALE <= 75;
が、同一の意味を持つことになります。
- P119 練習問題1の答え
解答では「正しく動作する。」とありますが、全く逆です。LASTNAME列は文字型フィールドなので動作しません。(※実は原書では
SUM の部分が COUNT となっている問題が出題されています。こちらは、正しく動作します。本来は両方の問題を提示すべきでしたが片方だけの出題になり、なお且つ逆の結果が掲載されてしまい、大変ご迷惑お掛けいたしました。)
- P228 の練習問題2の答え
SET で指定しているフィールド NAME は ITEM
の間違いです。なお、この UPDATE文の実行を行うと
COLLECTION 表の全ての行が更新されます。行の選択を行うには
WHERE句を使用します。
- P248 の練習問題2の答え
解答中の FIELD2 CHAR(80); は ;(セミコロン)
ではなく、,(カンマ) の間違いです。
- P40 2.5.1 「表からすべての情報を取り出す」の出力結果
出力結果である1行目小金井商事の AMOUNT
と
REMARKS 列の結果の間に T R の文字が入っています。ミスプリントです。削除して下さい。
- P137 SELECT 文
「GROUP BY 句に指定した列を SELECT 句に指定する」例で、
REMARKS と MIN(AMOUNT) の間に ,(カンマ)がありません。
- P47 「特定の行だけを出力する」例題
SELECT文の最後に ; (セミコロン) がありません。
- P80 「複数の条件を OR で組み合わせる」例題
OR を使った例題に対する本文の説明が、「勤続年数5年以上」または「休暇取得日数が総休暇日数の
50% に満たない」という条件になっていると記述されていますが、例題の
SELECT文では2つめの条件は >= 0.50 ですので、50%
以上の間違いです。(※ 1つ上の例題からの内容を考えると、<
0.50 のままにすべきであり、違いを確認するという意味では、これは適切な例題ではありませんでした。)
間違いを指摘して下さった方々(順不同)
yos さん
グッチ さん
平澤 さん
堂阪 さん
くさ さん
Yuji さん
猊倉 さん
どうも有難う御座いました。
<戻る>