にしのくえすと

情報処理技術者試験のお勉強ブログ


にしのくえすととは?
・「情報処理技術者試験大好き」な人、「ICT資格取りたい」人のためのブログです。
・ITパス、セキュマネ、基本、応用、セキュスペ(情報処理安全確保支援士)、ネスペ、デスペあたりの話題が中心です。
・申し述べる見解は勤務先とは無関係です。また、試験に関する記事は、自己責任でご利用ください。


・イラスト素材はAI CATCHER様のものを使用させていただいてます。素敵です!

↓ 電子書籍発売中です!「ネスペちゃん」「セスペちゃん」よろしくお願いです!
 
・作者のプロフィールはこちら  ・にしの作「資格本」電子書籍についてこちら
・作者の日記系ブログ(不定期)みがまえるよりはやく  ・「にしのくえすと」プライバシーポリシー

23日から25日のあいだは特別編成です
にしのF長期出張+にしのA里帰りのためお休みいただきます。
※twitterはやってます。

「あいぱすクエストりたーんず」と題して、ITパスポートの
過去の記事を再編集しつつご紹介するスタイルでお届けします。
26日から通常営業の予定です。よろしくお願いします。

第8回「SQL」その3

データ操作のSQL

重複せずに抽出する。

SELECT DISTINCT 分類 FROM 商品表 WHERE 商品番号 IN(1001,1002)

商品表から商品番号1001と1002の分類を同一データの重複なく抽出する


行の挿入

INSERT INTO 商品表 VALUE(1003,食料品,チョコボー,100)

表にデータを追加する


指定された行の更新

UPDATE 商品表 SET 価格=108 WHERE 商品番号=1003

商品番号1003の価格を108円に更新する。


指定された行の削除

DELETE FROM 商品表 WHERE 商品番号=1003

商品番号1003のデータを削除する。


EXISTS指定
副問合せを行い、その結果が存在する行だけを抽出する


1 主問合せと副問合せで参照する表が同じ場合
SELECT 商品番号 FROM 商品表 
WHERE EXISTS (SELECT * FROM 商品表 WHERE 価格>=100)

価格が100円以上の商品を抜き出し、その商品番号を抽出する
いやいやまてよ。

SELECT 商品番号 FROM 商品表 WHERE 価格>=100
これでよくない?ですが、これを主問い合せといいます。
別の表の内容を参照にするのを「副問合せ」といい、表の結合条件が
必要になります。


2 参照する表が違う場合
SELECT 商品番号 FROM 商品表 
WHERE EXISTS
(SELECT 商品番号 FROM 在庫表 WHERE 在庫>=10,商品表.商品
 番号=在庫表.商品番号)

在庫が10以上の商品番号を抽出する。別の表の結果をこちら側の検
索の条件にする。これが副問合せ。

3 NOT EXISTS
2とほぼ同じだが、NOT にしてみる

SELECT 商品番号 FROM 商品表 
WHERE NOT EXISTS
(SELECT 商品番号 FROM 在庫表 
 WHERE 在庫>=10,商品表.商品番号=在庫表.商品番号)

これだと、在庫が10以上の商品番号は抽出されない。

 

情報処理技術者試験お勉強ブログ「にしのくえすと」 Presented by にしのA&F