#author("2023-05-30T08:26:43+00:00","default:admin","admin") #author("2023-06-08T23:16:24+00:00","default:admin","admin") -[[請求書12万件を1時間で。エンジニアらが叶えた「大量発行」への道:https://tech.robotpayment.co.jp/entry/2023/06/09/080000]] *基礎 [#pe62b76f] -[[初心者でもSQLに入門できる!新登場の講座内容と2つの学習コンテンツ紹介:https://paiza.hatenablog.com/entry/2023/02/13/130000]] -[[初心者向けの解説書でSQLとリレーショナルデータベースの基本を押さえよう:https://codezine.jp/article/detail/12216]] -[[「SQLドリル」新登場!練習問題を解いてSQLの基本を習得しよう:https://paiza.hatenablog.com/entry/2023/03/06/130000]] -[[T-SQL 入門:https://sql55.com/t-sql/]] --T-SQL (Transact-SQL) とは Microsoft と Sybase 開発した、スタンダードの SQL (Structured Query Languag) を拡張した言語で、Microsoft SQL Server で使われている。 **select [#v8ae2739] -[[【SQL】3分でSELECT文を完全マスター!データ取得の基礎から応用まで!:https://www.sejuku.net/blog/72964]] -[[SQL の基本:https://sql55.com/t-sql/sql-basic.php]] ***結合 [#b5f2f55e] -[[SQLの基本とも言えるテーブル結合、その種類と使い方について解説:https://style.potepan.com/articles/17010.html]] -[[SQLのSELECT文で複数のテーブルを結合するJOIN (INNER LEFT RIGHT FULL CROSS):https://johobase.com/select-join-sql/]] -[[SQL JOINの結合条件とWHEREの条件の違いと使い分け:https://zukucode.com/2017/08/sql-join-where.html]] ***副問合せ [#pc7cba45] -[[副問合せ:https://itsakura.com/sql_subquery]] ***最新取得 [#o73a96b4] -[[履歴テーブルからデータを取得するSQL:https://dev.classmethod.jp/articles/history-table-sql/]] -[[SQLで最新のレコードのみを取り出す方法:https://qiita.com/yohei7328/items/75ff69eea9751f1e6280]] -[[SQL でそれぞれの ID 毎の最新の日付のレコードを抽出する:https://ez-net.jp/article/61/KVO1q_5K/P5lSphN26BvD/]] -[[GROUP BYとHAVINGで最新日付データを取得する:https://lightgauge.net/database/sqlserver/1672/]] -[[SQLで最新のレコードを取得する3つの方法:https://dxo.co.jp/blog/archives/3483]] **insert [#xa5f6d9d] -[[T-SQL でテーブルにデータを挿入 (INSRET) する:https://sql55.com/t-sql/t-sql-insert-1.php]] **update [#g198f2ea] -[[UPDATE と JOIN を使ってデータを更新する:https://sql55.com/t-sql/t-sql-update-1.php]] **delete [#i9347d29] -[[DELETE と JOIN を使ってデータを削除する:https://sql55.com/t-sql/t-sql-delete-1.php]] *SQL99 [#r444b1ce] -SQL Serverは、主要RDBMSの中で唯一といってもいいかも知れませんが、SQL99で規定された「行値構成子(row value constructor)」(「行値式」と呼ぶ場合もある)を実装していません。 *複数テーブルを検索 [#z8ad7c52] **WHERE句結合とINNER JOIN [#tcd60790] -[[WHERE句で結合。INNER JOINとの違い:https://oshiete.goo.ne.jp/qa/8090979.html]] **サブクエリ [#x7a17408] -[[SQLでサブクエリを上手に使う6パターン:https://medium.com/nyle-engineering-blog/sql%E3%81%A7%E3%82%B5%E3%83%96%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92%E4%B8%8A%E6%89%8B%E3%81%AB%E4%BD%BF%E3%81%866%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3-bae5ae35b962]] -[[なぜMySQLのサブクエリは遅いのか。:http://nippondanji.blogspot.jp/2009/03/mysql_25.html]] -[[MySQL で IN 句 + サブクエリの処理時間が遅い場合の改善方法:http://jetglass.hatenablog.jp/entry/2015/05/20/185336]] -[[サブクエリ・パラノイア~副問い合わせ乱用による性能劣化を治療せよ!:http://gihyo.jp/dev/serial/01/sql_lifesaving/0001]] **EXISTS vs JOIN [#lc51872d] -[[EXISTSとSQLの高速化について:http://kkoudev.github.io/blog/2013/09/14/sql/]] -[[EXISTSは速いのか?:http://www.ilovex.co.jp/blog/system/sqlserver/exists.html]] -[[MySQLでのサブクエリ、inner joinのパフォーマンス比較:https://qiita.com/yoshiokatsuneo@github/items/1b0c283c93604323c88d]] -[[外部結合とサブクエリのどっちが早いか試してみた:http://unageanu.hatenablog.com/entry/20081031/1225444786]] **IN vs EXISTS [#c5c03aee] -[[INとEXISTSの実行計画の違い:http://hamako9999.net/post-0-5/]] -INとEXISTSの違いはSQL文を評価する順番に違いがある。下記はある例だが、RDBMSによっては違いがあるかも。 --IN:副問合せ→親問合せ --EXISTS:親問合せ→副問合せ *連番 [#d3466013] -[[SQLで通し番号をつけたくなった:https://qiita.com/jeta_taka/items/5921f3932010df32b2da]] *Tips [#id71bb19] -[[GROUP BYとHAVINGで最新日付データを取得する:https://lightgauge.net/database/sqlserver/1672/]]