#author("2023-05-30T08:26:43+00:00","default:admin","admin")
*基礎 [#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/]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS