SQL クエリの 6 つのヒントを静かに共有します
1. 行と列の変換
#コード:
WITH tb(姓名,课程,分数) AS ( SELECT N'张三',N'语文',74 UNION ALL SELECT N'张三',N'数学',83 UNION ALL SELECT N'张三',N'物理',93 UNION ALL SELECT N'李四',N'语文',79 UNION ALL SELECT N'李四',N'数学',86 UNION ALL SELECT N'李四',N'物理',88 ) SELECT 姓名 , MAX(CASE 课程 WHEN '语文' THEN 分数 ELSE 0 END) 语文, MAX(CASE 课程 WHEN '数学' THEN 分数 ELSE 0 END) 数学, MAX(CASE 课程 WHEN '物理' THEN 分数 ELSE 0 END) 物理 FROM tb GROUP BY 姓名
#2. ページング
SELECT TOP 10 * FROM TestTable WHERE ID NOT IN (SELECT TOP 20 ID FROM TestTable ORDER BY ID) ORDER BY ID
オプション 2: より大きい ID および SELECT TOP ページング ステートメントを使用します。 form
SELECT TOP 10 * FROM TestTable
WHERE ID > (
SELECT MAX(id) FROM
(SELECT TOP 20 id FROM
TestTable ORDER BY id) AS T)
ORDER BY ID
SELECT * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY ID DESC) AS ROWID,*
FROM TestTable
) AS mytable where ROWID between 21 and 40
重複行をマージ
SELECT * FROM A UNION SELECT * FROM B
重複行をマージしない
SELECT * FROM A UNION ALL SELECT * FROM B
4. ランダム並べ替え
SELECT * FROM TestTable ORDER BY NEWID()
TOP Random first N records
SELECT TOP 100 * FROM TestTable ORDER BY NEWID()
たとえば、次のようにします。データをカンマ (,) で区切ると、次のようになります。
# データは、次のように分割されます。
SELECT R, CASE WHEN CHARINDEX(',',R)>1 THEN LEFT(R,CHARINDEX(',',R)-1) ELSE NULL END AS R1 , CASE WHEN CHARINDEX(',',R)>1 THEN RIGHT(R,(LEN(R) - CHARINDEX(',',R))) ELSE NULL END AS R2 FROM t
コードは長いため、コードを分割します理解:
SELECT CHARINDEX(',',',') --结果是1 SELECT CHARINDEX(',','NULL') --结果是0 SELECT CHARINDEX(',','') --结果是0 SELECT CHARINDEX(',','A,B') --结果是2 SELECT LEN('A,B') --结果是3 SELECT LEN('A,B') - CHARINDEX(',','A,B') --结果是3-2=1 SELECT RIGHT('A,B',( LEN('A,B') - CHARINDEX(',','A,B'))) --结果是 B
最後のステップでは、「A, B」を B に分割します。同様に、次を使用して A を取得することもできます。同様の方法。
6. WAITFOR 遅延実行
たとえば、SELECT ステートメントを実行する前に 1 時間 2 分 3 秒待機します。
WAITFOR DELAY '01:02:03' SELECT * FROM Employee
WAITFOR TIME '23:08:00' SELECT * FROM Employee
我是岳哥,最后给大家分享我写的SQL两件套:《SQL基础知识第二版》和《SQL高级知识第二版》的PDF电子版。里面有各个语法的解释、大量的实例讲解和批注等等,非常通俗易懂,方便大家跟着一起来实操。有需要的读者可以下载学习,在下面的公众号「数据前线」(非本号)后台回复关键字:SQL,就行数据前线 ——End—— 后台回复关键字:1024,获取一份精心整理的技术干货 后台回复关键字:进群,带你进入高手如云的交流群。 推荐阅读 27岁发明SQL以后,上帝把他带走了 微信8.0不好玩?那可能是你打开方式不正确! 一个员工的离职成本有多恐怖! SQL养成这些好习惯是一笔财富 MySQL基本知识点梳理和查询优化
その他の関連する無料学習の推奨事項:
以上がSQL クエリの 6 つのヒントを静かに共有しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











MySQL のスロークエリログは、MySQL が提供するログレコードで、MySQL のクエリ時間が設定したしきい値 (long_query_time) を超えた (超過した) ステートメントをスロークエリログに記録するために使用されます。

PHP と PDO: 複雑な SQL クエリ ステートメントを実行する方法 データベース操作を処理する場合、PHP はデータベースとの対話を簡素化する強力な拡張ライブラリ PDO (PHPDataObjects) を提供します。 PDO は、MySQL、SQLite などのさまざまなデータベースをサポートし、開発者がさまざまなデータベース操作を実行しやすくするための豊富な機能とメソッドも提供します。この記事では、PDO を使用して複雑な SQL クエリ ステートメントを実行する方法を紹介し、対応するコード例を添付します。データベースに接続する

Web 開発では、テーブルは最も基本的で一般的に使用される要素であり、PHP は人気のあるサーバーサイド プログラミング言語であり、テーブル操作には多くの一般的なテクニックとメソッドがあります。この記事では、PHP プログラミングにおける一般的なテーブル操作を紹介します。データ テーブルの表示 PHP では、HTML で table タグを使用してデータ テーブルを表示できますが、テーブルは PHP スクリプトで生成する必要があることに注意してください。基本的な HTML テーブル タグの例を次に示します。 <table><tr>

PHP は、Web 開発で広く使用されている強力なサーバーサイド スクリプト言語です。 Web 開発では、多くの場合、データベースと対話し、クエリ ステートメントを実行してデータを取得する必要があります。この記事ではPHPでのクエリ文の書き方と使用例を紹介します。 1. データベースに接続する PHP を使用してデータベースにクエリを実行する前に、まずデータベースとの接続を確立する必要があります。通常、例として MySQL データベースを使用します。データベースに接続するコードは次のとおりです: $servername=

Go プログラミングでは、SQL クエリの使用が一般的なタスクです。ただし、SQL クエリの実行時にエラーが発生し、プログラムが正しく実行されなくなる場合があります。これらのエラーを解決するには、SQL クエリと Go 言語がどのように相互作用するかを深く理解する必要があります。以下に、考えられるエラーとそれに対応する解決策をいくつか示します。データベースドライバーの不足 Go 言語では、データベースに接続して操作するには、特定のデータベースドライバーを使用する必要があります。データベース クエリを実行しようとしたときに、データベース ドライバーが正しくインストールおよび構成されていない場合

PHP 開発で SQL クエリ ステートメントとインデックスの使用を最適化するにはどうすればよいですか? PHP 開発では、データベース クエリは非常に一般的な操作です。ただし、データ量が増加すると、クエリのパフォーマンスが影響を受け、アプリケーションの速度が低下する可能性があります。クエリのパフォーマンスを向上させるには、SQL クエリ ステートメントとインデックスの使用を最適化する必要があります。この記事では、PHP 開発における SQL クエリのパフォーマンスを向上させるのに役立ついくつかの最適化のヒントとベスト プラクティスを紹介します。 1. 正しいインデックスを使用します。インデックスは、クエリのパフォーマンスを向上させるデータベースの重要な部分です。設計データ内で

ネットワーク技術の発展に伴い、PHP プログラミングは多くの企業の Web サイト開発の主流になりました。 PHP プログラミングでは、SQL クエリの効率はすべてのプログラマーが注意を払い、対処する必要がある問題です。 SQL クエリが非効率的であると、Web サイトの応答が遅くなったり、システム負荷が高くなったり、その他の好ましくない影響が生じます。したがって、この記事では、プログラムの実行効率とシステム全体の応答速度を向上させるために、PHP プログラミングにおけるさまざまな SQL クエリ効率の最適化手法を紹介することに焦点を当てます。データベース インデックス データベース インデックスは、データベース クエリの速度を向上させる基本的な方法です。

SQL ステートメントを使用して MySQL のデータをクエリおよびフィルタリングするにはどうすればよいですか? MySQL は一般的に使用されるリレーショナル データベース管理システムであり、データのクエリとフィルタリングを簡単に行うのに役立つ強力な SQL クエリ言語を提供します。この記事では、SQL ステートメントを使用して MySQL でデータをクエリおよびフィルタリングする方法を紹介します。これには、単純なクエリに SELECT ステートメントを使用する方法、条件付きフィルタリングに WHERE 句を使用する方法、ソートに ORDERBY 句を使用する方法、および LIMIT を使用する方法が含まれます。
