SQL自体を勉強したい
PostgresやMySQL自身の参考書はいいのがたくさんありますが、 さて、初心者の私が効率のいいSQLを組もうとすると、どの本(やウェブ) を見たらいいのか、わかりません。初心者にとって、SQLそのものを勉強するのに、 役立つ本はありますか? (単にコマンドを説明しているようなのではなくて) 本屋行けばSQLの入門書だって掃いて捨てるほどあるでしょー。 平積みになってるのを立ち読みして一番自分が読みやすいのを 買えば?どれでもいっしょ。 ちなみに「効率のいいSQL」は製品を特定しないと書けません。 みなさんありがとうございます。 参考になります。 >>5 >本屋行けばSQLの入門書だって掃いて捨てるほどあるでしょー。 だからこそ、まよっちゃって。 >平積みになってるのを立ち読みして一番自分が読みやすいのを買えば? で、間違いのある参考書とか選んじゃうとアレだし、定評のあるやつがいいかなとか思ったのですが、 >どれでもいっしょ。 でしたら、とりあえず買っちゃおうかな。 >ちなみに「効率のいいSQL」は製品を特定しないと書けません。 なるほど。 >>1 効率をよくするには SQL 文だけじゃダメだよ。データベースの設定、テーブル 定義、Index の作成、クライアントからのアクセスのパターンといった部分を きちんと考えないと効率はよくならない。むしろ SQL 文だけでできることには 限界があるし、>>5 がいうように実装依存になりやすい。 『データベースチューニング 256 の鉄則』(日経 BP)が参考になるかな。 入門者向けではないけど、ここに書いてある内容が一通り理解できるように なるように勉強していけばいいと思う。 http://store.nikkeibp.co.jp/item/main/148222805860.html http://store.nikkeibp.co.jp/item/main/148222805940.html 『トランザクション処理入門』(日経BP)もかなりよい。初心者が読むには 難しいけど、みんなこれを読みこなして中級者になっていったと思って 読めばいいと思う。 http://store.nikkeibp.co.jp/item/main/148222802680.html 本屋に行ったら『SQL ハンドブック』(ソフトバンク)という本が出ていた。 関係演算とか正規化といった基礎事項から、各実装系ごとのコマンドの解説まで 一通り出ていて、初心者には便利かもしれない。欲を言えば演習問題がほしかった なあ。まあ、本の性格が教科書ではなくリファレンスなのでそれは仕方がないか。 >>1 プログラマ板にいけば? とりあえず、SQLがどうのより、RDBMSについて勉強するのがいいと思われ。 正規形とかトランザクションとかね。 というわけで、リレーショナルデータベース入門という本が薄くてお勧め。 しばらく絶版だった「プログラマのための SQL」がピアソンから出ていた (しかも第二版)。 http://www.mmjp.or.jp/pearsoned/washo/db/wa_db22-j.html SQL に関するありとあらゆる知識が詰め込まれている。ある意味、SQL については この一冊で完全に知識が得られるといえる。ありがちな SQL 文の書き方だけでなく、 SQL で複雑なデータ構造をどう表現するかといった進んだトピックについて他の 書籍では得がたい内容についてもかなりのページが割かれている。 名著中の名著。ぜひ買っておくべし。 >>10 SQL は勉強したこと無いんだけど買ってみよう。 ところでサブタイトルの 「レイヤー2トネリングプロトコルの実装と運用」 ってなんか違わんか? >>10 現在SQLを使っていてSQLの実経験が1年以上あるプログラマを対象に ってあるけど、これからやろうとしている人でも、行けそうですか? オラクルの体験版でもインストールして、SQL*PLUSでがしがしやって見るのがいいんじゃないですか? SQL自体は単純なのでさわりはとっつき安いと思います。 PL/SQLになりますけど。 高度な事は必要な時に勉強するといいんじゃないか? ちなみにうちにある本は[すぐわかるSQL]技術評論社です。 データーベースの本はほかにも結構あるけど、SQLの本はこれだけしかもってないです。 >>12 新人に読ませてみたけど、とっつきにくかった様子。 これから初めて SQL を触るって人には向かないかも・・・。 どうでもいいが、同じ著者による『SQL パズル』も復刊されないかな。 とりあえず、SQLの勉強なら http://www20.big.or.jp/ ~o-shin/bbs/bender/sql/bbs.cgi がかなり活発だね。 習うより慣れろって感じかも Officeが近くにあるならAccessでもいいから触ってみれ select,update,insert,delete を覚えとけばなんとかなる…かな? >>21 覚えなきゃいかんのはselectだけでよし。 私は秀和システムの 「図解入門 よくわかる最新&次世代データベースの基本と仕組み」 というタイトルの長い本から入りました。 かなり初心者向けに作られてると思います。 最後まで読めば、途中に載ってるサンプルが間違ってることに気づくぐらい理解できると思いますよ。 解説本のサンプルって 必ず 間違ってるよな。 あれは教育的配慮でわざとやってんだろうか。 「SQLを発行する」の<発行する>って、 英語でなんていうかわかる人いませんか? ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━― ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉 そもそもデータベースが何かよく分からなくて、 例えばCSVとかのテキストで保存しているデータを、 データが大量になったときはデータベースで処理すると速いらしいくらいのことしか 知らないんですが、一体どこから勉強を始めればいいんでしょうか 俺もmysqlよくわかってないでphpから使っております __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄ ∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ (¨仝¨){はにゃーん) _________________________________________________________ (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン はじめまして。 ASPとSQLserverを使ってるんですが、今2つのデータテーブル(フィールドはどちらも同じId、Name、Address、Tel)を1つにまとめたいと考えてます。 ただ、そこで問題なのがおたがいのIDが重複している可能性があるので、一度両方のデータセットを取得して、IDの衝突がないことを確認してその時点でのクエリ (rs配列にあるValue)をInsertしていく・・という方法を考えています。 ひとつのデータベーステーブルから値をひろって、それを別のデータテーブルに 格納したいのですが、変数を使う場合SQL文はどう表記すればいいのでしょうか? Set rs=conn.Execute("Select * from table1") で、これをテーブル2に conn.Execute("Insert into table2 (Id,Name,Address,Tel) values rs("ID")& ",'" & rs("Name") & "','"& rs("Address") &"','" & rs("Tel") &"'" ) これだとエラーになってしまうんです。 いろいろと「"」や「'」で囲ったりしてみたんですが、やればやるほど泥沼にハマってしまいました。。(^^;) すいませんどなたか助けてください。 「SQL自体を勉強したい」のなら、 INSERT INTO table2 SELECT * FROM table1 WHERE not exists(select * from table2 where table2.id=table1.id) 「VBScript言語の勉強をしたい」のなら、 "VALUES(" & _ rs("ID") & "," & _ "'" & rs("Name") & "'," & _ "'" & rs("Address") & "'," & _ "'" & rs("Tel") & "'" & _ ")" すみません。根本的な質問です。 mysqlとポスグレ、安い共用サーバーはほとんどmysqlですが mysql鯖にポスグレのDBあげても動かないですよね? ポスグレのレン鯖で安いところってぱっと思いつくところってありますか? 基本的なことで申し訳ありません。 素朴な質問ですみません、SQLというのは、なんと発音するのが一般的でしょうか? そのまま「エスキューエル」でいいのでしょうか? SQLのサイトを作ってみた ttp://oraclesqlpuzzle.hp.infoseek.co.jp MySQLって「マイエスキューエル」って読み方でいいんですか? PHPでweb上から携帯を使って、データベースを追加編集削除できて、PHPで検索したいんだけど、PHP初心者でもできそうかな?MySQLは勉強してないけど >>69 ありがとう、なら勉強してみるよ。 ゲームのアイテムリストを作りたいんだ >>68 insertしてselectするだけだ 本当に簡単だよ >>72 sqlはデータベース用の問い合わせ言語でMySQLはsqlが使えるデータベースサーバの1つ 基本的な質問ですみません。 mysqlのselect文で検索しようとしてるんですが、 シンプルに書けないものかと悩んでいます。 WHERE aaa LIKE ('hoge%' || 'huga%') のようなことって WHERE aaa LIKE 'hoge%' || aaa LIKE 'huga%' とするしかないのでしょうか? 同じようなことを2回書くのが嫌なのですが。 個人で使う静的生成のCMSでSQL使うメリットってあるの? 検索くらいのような気がするけど、 メモリが十分に確保されてる現在だったら テキストファイルの方が早いんじゃないのかしらん? 素人考えだけど。 テクニカルエンジニアのデータベースの資格を取得しよう! SQLはじめたいなって思ってるんだけど、これが理解できないんだ。 どういうことか詳しい人教えてください。 >1000行取得するSQLを1回 >1行取得するSQLを1000回 >のコスト差を理解できずに作られているアプリケーションのなんと多いことか。データベースやプログラミングに限らず、「初期コスト」ってのはバカにならないというのは、一般常識として体感している気がするんだけどなぁ。 買い物するときに陳列棚の前で1000個商品集めて買ってくるのと 1000回店に行くのどっちがローコスト? >>78 そういったときは罵詈雑言だけでなく誘導願います 知的レベルが極めて低い人にそんな無理難題を要求しちゃダメ 1週間oracleのSQLを勉強してるんだけど いまいち覚えられてない・・・ どれをやるにも見なきゃ出来ない。こんなもんなのかね? 何を使えばいいかって言うのは少しずつわかってきてるんだが・・・ まー、定型句があるから、そこらへんを覚えれば簡単。 逆引きとか、クックブック買えば楽なんだけど、 応用が利かなくなると、それはそれで問題あるし。 まー、頭が使えるうちは、ちゃんと頭を使えってこった。 俺モナー。 データベース板 http://pc11.2ch.net/db/ どうでもいいぐらい古い話にレスするけど SQLパズルは、2007年に第2版がでてるね。 >>87 SQLパズルの第2版が出てたのは知ってたが そのレスでこのスレの前の方みて初めて知ったんだが プログラマのためのSQL 第2版なんて出てたのか これ第1版もってても買う価値あるかな? SQLパズルもプログラマのためのSQLも持ってるのに、同じ作者だと気づいてなかったぜw SQL 本格的に勉強するとやばいね。超3倍ハイクオリティ化する。 未だに実行プランの見方や意味が良く分からん。 取りあえずインデックス使ってないとかそういうのは分かるけど。 >>90 SELECTとか基本構文だけだと、何て簡単なんだと思うけど、SQLチューニングとかストアドプロシージャとかそういうのが入ってくると途端に複雑になると思う 俺はそこら辺でめんどくさくなって学習をやめたwww SQLの質問がありまして、書きます。 Aテーブル A B C 1 11 2 22 3 33 Bテーブル A B C 4 44 1 5 55 2 6 66 欲しい結果 A B 1 44 2 55 3 33 6 66 BテーブルのCがAテーブルのAと一致したらBテーブル参照したいですが、A項目のみ値をAテーブルの値にしたいです。 何かアドバイスお願いします。。。。。 調べても、よくわからなかったので。。。 お願いします。。。 select A.A, B.B from B join A on B.C = A.A; でいいのけ? >>96 ありがとうございます。 大体正解に近づけましたが、 3 33が取得されませんでした。 BテーブルのCがAテーブルのAと一致しない場合はAテーブルのまま取得もしたいですが、、 え、Aテーブルからの行とBテーブルからの行をひとまとめに取得したいの? >>98 文章で説明致しますと、 基本はAテーブルのデータを取得します。 ただ、BテーブルのCがAテーブルのAと一致したら、BテーブルのBの情報を取得したいということです。 雑な説明ですみません。 >>98 まとめるということになりますかね。。。一部分だけ。。 read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる