SQLプログラミング質問スレ
このスレでは
「こういうことをやりたいんだけどSQLでどう書くの?」
「こういうSQLを書いたんだけどうまく動きません><」
といった質問を受け付けています。
質問するときは使用するDBMSを必ず明記してください。
質問テンプレ
・DBMSとバージョン Oracle 、SQL server 2014、MySQL、PostgreSQL、SQLite、ACCESS、DB2など
・テーブルデータ
・欲しい結果
・説明
SQL(Structured Query Language)とは
SQL(Structured Query Language)はリレーショナルデータベースを操作(テーブルやインデックスの作成、テーブルに格納されたデータの操作)するための言語です。
SQLはISOによって標準化されていますが、標準を100%実装したDBMSは存在しません。
また、DBMSによっては標準でない独自の構文が追加されていることもあります。
SQL言語リファレンス一覧
Oracle Database
Microsoft SQL Server
IBM DB2 Database
PostgreSQL
MySQL
SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)
翔泳社 著者:ミック
amazon.co.jpのカスタマーレビューを見る
powered by amalink
[4441] Posted by kagahiro at 2016/09/29 13:33:56
オープン | 10 point | Link (1) | Trackback (2) | Comment (8)
オープン | 10 point | Link (1) | Trackback (2) | Comment (8)
キーワード
SQL 質問 DBMS プログラミング
SQLプログラミング質問スレ 関連リンク
PHPでMySQLに接続して、SELECTでデータを取得するサンプルプログラム | |
PHPのプログラムからMySQLに接続し、SELECTでデータを取得する処理のサンプルプログラムです。あらかじめphpMyAdminを使用してMySQLにテータベース「testdb」を作成し、以下のSQLを実行しテーブル「users」を作成、3... |
SQLプログラミング質問スレ トラックバック
トラックバックURL :
Linked from 語句ログ : MySQLのUPDATE文でLIMIT句を使用して上位3件のレコードを更新する at 2016/09/30 11:43:16 | |
MySQLでは、UPDATEでLIMIT句とORDER BYを使用して上位n件のレコードを更新することができます。更新前にORDER BYで指定した方法で並べ替えられ(ASCは昇順、DESCは降順、省略した場合は昇順)、LIMIT句で指定した行数... |
Linked from 語句ログ : MySQLのINSERT ... SELECT文でLIMIT句を使用して上位3件のレコードをテーブルに追加する at 2016/09/30 15:29:40 | |
MySQLでは、INSERT ... SELECTを使用することで1つまたは複数のテーブルからレコードをテーブルに追加できます。また、SELECTでLIMIT句とORDER BYを使用して上位n件のレコードのみテーブルに追加することもできます。... |
SQLプログラミング質問スレへのコメント
1 Posted by 名無しさん at 2016/09/29 23:22:05 | |
よくある質問1 (問) ID | DATE | DATA --+----------+----- 1 | 2007-11-11 | aaa 2 | 2007-11-11 | bbb 1 | 2007-11-10 | ccc 3 | 2007-11-12 | ddd 3 | 2007-11-11 | eee 4 | 2007-11-10 | fff 1 | 2007-11-12 | ggg このようなテーブルから、下記のように 1 | 2007-11-12 | ggg 3 | 2007-11-12 | ddd 2 | 2007-11-11 | bbb 4 | 2007-11-10 | fff 各idに対して最新の1件だけ抽出するSQLの書き方を教えてください。 (答) select A.ID, A.DATE, A.DATA from TableName A inner join (select ID, max(DATE) as MAX_DATE from TableName group by ID ) B on A.ID = B.ID and A.DATE = B.MAX_DATE ; |
2 Posted by 名無しさん at 2016/09/29 23:22:23 | |
よくある質問2 (問) key data ---------------- 1 a 1 a 1 b 1 b 1 a 2 b 2 a 2 a というテーブルから key a b -------------------- 1 3 2 2 2 1 というExcelのピボットの様なデータを取得したいのですが、どういうSQLになりますか? a,bというのは固定なので、仮にcというデータがあっても無視して構いません。 (答) SELECT key, SUM(CASE data WHEN 'a' THEN 1 END) AS a, SUM(CASE data WHEN 'b' THEN 1 END) AS b FROM table GROUP BY key ORDER BY key ; |
3 Posted by 名無しさん at 2016/09/29 23:25:07 | |
よくある質問3 (問) ID HOGE 01 A 01 B 01 C 02 A 03 B HOGEをAもBもCも持っている、ID:01だけ取り出すにはどうすればよかですか (答1) SELECT id FROM TableName WHERE hoge in ('A','B','C') GROUP BY id HAVING count(DISTINCT hoge) = 3 ; (答2) select * from TableName T1 where not exists (select * from (values 'A', 'B', 'C') T2 (HOGE) where not exists (select * from TableName T3 where T1.ID = T3.ID and T2.HOGE = T3.HOGE ) ) ; ※valuesの部分(Table Value Constructor)はDBMSによって文法がかなり違うので注意 |
4 Posted by 名無しさん at 2016/09/29 23:25:29 | |
よくある質問4 (問) 列の数が可変な問合せはどう書きますか? (答) 標準SQLでは書けません。 pivotという機能を搭載したDBMSなら一見書けそうですが実はやっぱり書けません。 Oracle 11g以降でpivot xmlというキーワードを使用すれば一応可変っぽくはなります。 が、素直にプロシージャを書くかアプリケーションで処理したほうが良いでしょう。 SQL Serverのpivot(2005以降) http://msdn.microsoft.com/ja-jp/library/ms177410.aspx Oracleのpivot(11g以降) http://download.oracle.com/docs/cd/E16338_01/server.112/b56299/statements_10002.htm#CHDCEJJE http://www.oracle.com/technetwork/articles/sql/11g-pivot-097235.html |
5 Posted by 名無しさん at 2016/09/29 23:25:57 | |
よくある質問5 (問) 年月(YYYYMM)を指定し、その年月に対応する年月日を取得したい 例:201006を指定したら、以下の結果を得たい 20100601 20100602 ・ ・ ・ 20100630 (答) SQLでは存在しないデータを生成することはできません。 この問いの場合は素直にカレンダーテーブルを用意しましょう。 どうしてもやりたければ以下のような方法もなくはないですが、 再帰問合せの本来の使い方ではありません。 やめておくことを強くお奨めします。 (PostgreSQLのgenerate_series()関数なら辛うじてセーフかもしれませんが 賛否の分かれるところでしょう。) with TEMP (NUM) as ( select 1 from dual union all select NUM + 1 from TEMP where NUM < 31 ) select to_char(to_date('201006', 'YYYYMM') + NUM - 1, 'YYYYMMDD') from TEMP where to_date('201006', 'YYYYMM') + NUM - 1 < add_months(to_date('201006', 'YYYYMM'), 1) ; ※上記はOracleの場合です。(11gR2以降) ※再帰問合せをサポートするDBMSならこれを適当に改変すれば動きますが どのみちお奨めしません。 |
6 Posted by 名無しさん at 2022/06/08 21:03:06 | |
ในปี 2022 ทุกท่านที่ประสบพบปัญหาในเรื่องที่เกี่ยวข้องกับการเงินจะหมดไปเมื่อได้ลงทุนกับ playslot888.com ผู้ให้บริการเว็บสล็อตแท้ ที่จะสร้างรายได้ออนไลน์ ผ่านเกมslotซึ่งสามารถหารายได้ได้จริง มีเกมดังให้เลือกเล่นมากหลายค่าย จากpgslot,สล็อตxo,live22 สล็อต แตกง่าย,สล็อตโจ๊กเกอร์,SLOT SUPER,สล็อต jili,pragmatic play เว็บตรง ซึ่งมีให้เลือกเล่นมากยิ่งกว่า 1,000 เกมส์ เลยทีเดียว ซึ่งการเล่นของทุกท่านจะไม่ผ่านเอเย่นต์ใดๆ เล่นได้โดยตรง ไได้รับการยืนยันจากหน่วยงานต่างแดนมากมาย ไม่ว่าจะเป็น GMM ซึ่งเป็นหน่วยงานที่ควบคุมเกี่ยวกับเว็บพนันออนไลน์โดยตรง เพื่อไม่ให้ผู้ใช้บริการนั้นโดยการเอาเปรียบ เว็บสล็อตเว็บตรงไม่ผ่านเอเย่นต์ของเรานั้น ไม่มีการดัดแปลงแก้ไขตัวเกมแต่อย่างใด เล่นง่าย แตกง่ายแตกบ่อยมาก ไม่เหมือนเว็บอื่นๆที่ท่านเคยเล่นมาอย่างไม่ต้องสงสัย มีระบบที่จะอำนวยความสะดวกสบายให้กับสมาชิกอย่าง เว็บสล็อตฝากถอนออโต้ ที่รวดเร็วทันใจ ใช้เวลาไม่นานไม่เกิน 10 นาที อีกทั้งยังรองรับslot wallet ไม่มีขั้นต่ำ โดยไม่จำเป็นต้องใช้บัญชีธนาคาร อีกทั้งยังจัดเต็มไปด้วยโปรสล็อตสมาชิกใหม่ และยังเอาใจผู้ที่มีทุนน้อย ที่จะฝากเงินรับโบนัสฟรีๆ อย่างสล็อต 10 บาทรับ 100,ฝาก 20 รับ 100 ทำ เทิร์น 200 สำหรับท่านที่พึงพอใจต้องการมีอาชีพเสริมผ่านหนทางออนไลน์ วันนี้ playslot888.com เปิดให้บริการสมัครเกมสล็อตเว็บตรง เข้ามาเปิดประสบการณ์ รวมสนุกสนานได้ตลอด 24 ชั่วโมง ไม่มีวันหยุด และสำหรับใครที่ยังเป็นมือใหม่ เรามีบทความ Review สล็อตออนไลน์ ซึ่งมีเกมดังมากมายอย่างเช่น Fortune Ox,สล็อตบ้านขนมหวาน,สล็อตกัวกระโหลก สามารถอ่านได้ฟรี เพิ่มโอกาสให้ เล่นเว็บสล็อตตรง แตกง่าย แตกบ่อย ได้มากยิ่งขึ้น playslot888.com |
7 Posted by 名無しさん at 2022/06/12 12:14:50 | |
ในปี 2565 ทุกท่านที่เจอปัญหาในเรื่องเกี่ยวกับเงินจะหมดไปเมื่อได้ลงทุนกับ playslot888.com ผู้ให้บริการเว็บสล็อตแท้ ที่จะสร้างรายได้ออนไลน์ ผ่านเกมสล็อตออนไลน์ซึ่งสามารถหารายได้ได้จริง มีเกมแตกง่ายให้เลือกเล่นมากหลายค่าย จากเว็บสล็อต pg,สล็อตxoเว็บตรง, slotlive22,สล็อตโจ๊กเกอร์ค่ายใหญ่,ซุปเปอร์ สล็อต, slot jili,pragmatic play เว็บตรง ซึ่งมีให้เลือกเล่นมากยิ่งกว่า 500 เกมส์ เลยทีเดียว ซึ่งการเล่นของทุกท่านจะไม่ผ่านตัวแทนใดๆ เล่นได้โดยตรง ไได้รับการยืนยันจากหน่วยงานต่างถิ่นมากมาย ไม่ว่าจะเป็น GMM ซึ่งเป็นหน่วยงานที่ควบคุมเกี่ยวกับเว็บพนันออนไลน์โดยตรง เพื่อไม่ให้ผู้ใช้บริการนั้นโดยเอาเปรียบ เว็บตรงไม่ผ่านเอเย่นต์ของเรานั้น ไม่มีการดัดแปลงปรับปรุงแก้ไขตัวเกมแต่อย่างใด เล่นง่าย แตกง่ายแตกหลายครั้ง ไม่เหมือนเว็บไซต์อื่นๆที่ท่านเคยเล่นมาอย่างแน่แท้ มีบริการที่จะอำนวยความสะดวกสบายให้กับสมาชิกอย่าง เว็บฝากถอนออโต้ไม่มีขั้นต่ำ ที่เร็ว ใช้เวลาไม่นานไม่เกิน 15 นาที อีกทั้งยังรองรับslot true wallet ไม่มี ขั้นต่ำ โดยไม่จำเป็นต้องใช้บัญชีธนาคาร อีกทั้งยังจัดเต็มไปด้วยโปรโมชั่นสล็อต100% และยังเอาใจผู้ที่มีทุนน้อย ที่จะฝากเงินรับโบนัสฟรีๆ อย่างโปรโมชั่นสมาชิกใหม่ฝาก10รับ100,เว็บสล็อตใหม่ล่าสุด20รับ100 สำหรับท่านที่สนใจอยากมีอาชีพเสริมผ่านหนทางออนไลน์ วันนี้ playslot888.com เปิดให้บริการสมัครเล่นสล็อต เข้ามาเปิดประสบการณ์ รวมสนุกสนานได้ตลอด 24 ชั่วโมง ไม่มีวันหยุด และสำหรับใครที่ยังเป็นมือใหม่ เรามีบทความ รีวิวเกมสล็อตได้เงินจริง ซึ่งมีเกมดังมากมายอย่างเช่น วัวนรก,Candy Bonanza,ไวด์แบนดิโต้ สามารถอ่านได้ฟรี เพิ่มโอกาสให้ เล่นสล็อต เว็บตรงไม่ผ่านเอเย่นต์ไม่มีขั้นต่ำ แตกง่าย แตกบ่อย ได้มากยิ่งขึ้น เว็บสล็อตฝากถอนออโต้ |
8 Posted by 名無しさん at 2022/06/16 13:42:55 | |
ในปี 2022 ทุกคนที่เจอปัญหาในเรื่องของการเงินจะหมดไปเมื่อได้ลงทุนกับ playslot888.com ผู้ให้บริการสล็อตเว็บตรง ที่จะสร้างรายได้ออนไลน์ ผ่านเกมสล็อตออนไลน์ที่สามารถหาเงินได้จริง มีเกมแตกง่ายให้เลือกเล่นมากมายก่ายกองหลายค่าย จากPG SLOT,สล็อต xoเว็บตรงไม่ผ่านเอเย่นต์,live22,สล็อตโจ๊กเกอร์,SUPERSLOT,สล็อต jili,pragmatic ซึ่งมีให้เลือกเล่นมากกว่า 300 เกมส์ เลยทีเดียว ซึ่งการเล่นของทุกคนจะไม่ผ่านเอเย่นต์ใดๆ เล่นได้โดยตรง ไได้รับการยืนยันจากหน่วยงานต่างชาติมากมาย ไม่ว่าจะเป็น GAMBLING COMMISSION ซึ่งเป็นหน่วยงานที่ควบคุมเกี่ยวกับเว็บพนันออนไลน์โดยตรง เพื่อไม่ให้ผู้ใช้บริการนั้นโดยเอาเปรียบ เกมสล็อตเว็บตรงของเรานั้น ไม่มีการดัดแปลงปรับปรุงแก้ไขตัวเกมอะไร เล่นง่าย แตกง่ายแตกบ่อยครั้ง ไม่เหมือนเว็บอื่นๆที่ท่านเคยเล่นมาอย่างแน่นอน มีระบบที่จะเพิ่มความสะดวกให้กับสมาชิกอย่าง slot ไม่มีขั้นต่ำ ที่เร็วทันใจ ใช้เวลาไม่นานไม่เกิน 15 นาที อีกทั้งยังรองรับslot true wallet ไม่มี ขั้นต่ำ โดยไม่จำเป็นต้องใช้บัญชีธนาคาร อีกทั้งยังจัดเต็มไปด้วยโปรสล็อตเทิร์นน้อย รวมทั้งยังเอาใจผู้ที่มีทุนน้อย ที่จะฝากเงินรับโบนัสฟรีๆ อย่างสล็อตโปรทุนน้อย 10 รับ100,เว็บสล็อต ฝาก 20 รับ 100 สำหรับท่านที่พอใจต้องการมีรายได้เสริมผ่านหนทางออนไลน์ วันนี้ playslot888.com เปิดให้บริการสมัครเว็บสล็อต เข้ามาเปิดประสบการณ์ รวมสนุกได้ตลอด 24 ชั่วโมง ไม่มีวันหยุด และสำหรับใครที่ยังเป็นมือใหม่ เรามีบทความ รีวิวเกมสล็อตยอดฮิต ซึ่งมีเกมดังมากมายอย่างเช่น วัวทอง,สล็อตบ้านขนมหวาน, Wild Bandito สามารถอ่านได้ฟรี เพิ่มโอกาสให้ เล่นเว็บเกมสล็อต แตกง่าย แตกบ่อย ได้มากยิ่งขึ้น สล็อต xoเว็บตรงไม่ผ่านเอเย่นต์ (https://playslot888.com/) |
アクセスランキング
今月のアクセスランキング(上位10件)
- 2NN (2ch News Navigator) (314 PV)
- プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (92 PV)
- 小林興起元衆議院議員がタレントの杉本彩さんにキスを迫る (61 PV)
- 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (42 PV)
- 読売新聞「石井誠」記者変死事件 (20 PV)
- ログ速(ろぐそく、logsoku) - 過去ログ スレタイ検索 全文検索 (20 PV)
- 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (17 PV)
- PHP、MySQLで動くオープンソース掲示板ソフト (12 PV)
- 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (11 PV)
- 掲示板フリーソフト - 無料で利用できる掲示板CGI (11 PV)
アクセス統計
ディレクトリ
- 59bbs.org - 掲示板
- Amalink - 画像付きamazon商品リンク作成ツール
- Mailform Std - オープンソースライセンス(GPLv2)のメールフォームCGI(Perl)
- ThreadPlus - オープンソースライセンスの(GPLv2)掲示板CGI(Perl)
- 2ちゃんねる掲示板検索
関連サイト
- 語句ログ - オープンソースブログソフト59Trackerを利用した情報共有ブログ
- 株価と為替レート(FX)の掲示板
- CommentPP - オープンソース掲示板システム(PHP/MySQL)のダウンロード
- BBS10 - CommentPP を利用したインターネット掲示板