sql クエリ ステートメント: 1. テーブル構造を表示 [SQL>DESC emp]; 2. すべての列をクエリ [SQL>SELECT * FROM emp]; 3. 指定された列をクエリ; 4. 指定された行をクエリ; 5. 算術式を使用する; 6. 論理演算記号を使用する。
推奨 (無料): sql チュートリアル
#sql クエリ ステートメント:
1. 単純なクエリ ステートメント
##1. テーブル構造の表示
SQL>DESC emp;
2. すべての列をクエリする
SQL>SELECT * FROM emp;
3. 指定した列をクエリする
SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项
4. 指定した行をクエリする
SQL>SELECT * FROM emp WHERE job='CLERK';
5. 算術式を使用します
SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp; nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。 SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序) SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82';
6. like 演算子 (%,_)
を使用します% は 1 つ以上の文字を表し、_ は文字を表し、[charlist] は文字列内の任意の 1 文字を表し、[^charlist] または [!charlist] は文字列にない任意の 1 文字を表します。SQL>SELECT * FROM emp WHERE ename like 'S__T%';
7. where 条件で In
SQL>SELECT * FROM emp WHERE job IN ('CLERK','ANALYST');
# を使用します。 8. フィールドの内容が空であるか空ではないというステートメントをクエリします
SQL>SELECT * FROM emp WHERE mgr IS/IS NOT NULL;
9. 論理演算記号を使用します
SQL>SELECT * FROM emp WHERE (sal>500 or job='MANAGE') and ename like 'J%';
10. クエリ結果をフィールド値で並べ替えます#SQL>SELECT * FROM emp ORDER BY deptno, sal DESC; (按部门升序,并按薪酬降序)
SQL>SELECT CASE a WHEN "original_a" THEN "新命名Aa" WHEN "original_b" THEN "新命名Bb" END AS XXX;
テーブル内のフィールドを選択し、XXX という名前を付けます。 original_a の場合、内容は「新しい名前 Aa」と表示されます。
元のテーブル
b | c | |
... | ... | |
... | ... |
新しい名前 Aa |
新しい名前 Bb |
SQL>SELECT DATE_FORMAT(start_time,"%Y-%m-%d") as "时间";2. 複雑なクエリ
1. データのグループ化 (最大、最小、平均、合計、カウント)
SQL>SELECT MAX(sal),MIN(age),AVG(sal),SUM(sal) from emp; SQL>SELECT * FROM emp where sal=(SELECT MAX(sal) from emp)); SQL>SELEC COUNT(*) FROM emp;2. グループ化 (クエリ グループ統計に使用) #
SQL>SELECT deptno,MAX(sal),AVG(sal) FROM emp GROUP BY deptno; SQL>SELECT deptno, job, AVG(sal),MIN(sal) FROM emp group by deptno,job having AVG(sal)<2000;
データ グループ化の概要:
a. グループ化関数は、次の場合にのみ使用できます。 select list、having、order by 句 (where には使用できません)
b. select ステートメントに group by、having、order by も含まれている場合、それらの順序は group by、持っている、までに注文する。
c. 選択列に列、式、およびグループ化関数がある場合、これらの列と式は group by 句に含める必要があり、そうでない場合はエラーが発生します。つまり、SELECT 句の列名はグループ化列または列関数である必要があります
- #3. マルチテーブル クエリ
SQL>SELECT e.name,e.sal,d.dname FROM emp e, dept d WHERE e.deptno=d.deptno order by d.deptno; SQL>SELECT e.ename,e.sal,s.grade FROM emp e,salgrade s WHER e.sal BETWEEN s.losal AND s.hisal; Select a.*, b.x, c.y from a left outer join (Select * from tablex where condition1)b on a.id=b.id left outer join (Select * from tabley where condition2)c on a.id=c.id where condition3;
4. 自己結合 (同じテーブルの接続クエリを参照)
SQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;
5. サブクエリ (他の SQL ステートメントに埋め込まれた select ステートメント、ネストされたクエリとも呼ばれます)
5.1 単一行サブクエリSQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename='SMITH');
クエリ テーブル内の smith と同じ部門の人の名前をクエリします。返される結果は 1 行だけであるため、サブクエリ ステートメントを「=」で接続します。
5.2 複数行のサブクエリ
SQL>SELECT ename,job,sal,deptno from emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno=10);
部門番号と同じ職務を持つ従業員の名前と職務をクエリします。表の10、給与、部門番号。返された結果には複数の行があるため、サブクエリ ステートメントを接続するために「IN」が使用されます。
5.3 ALL
SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ALL (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MAX(sal) FROM emp WHERE deptno=30);
を使用して、部門番号 30 の全従業員よりも給与が高い従業員の名前、給与、および部門番号をクエリします。上記 2 つのステートメントは機能的には同じですが、実行効率の点では、機能ははるかに高くなります。
5.4 ANY
SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ANY (SELECT sal FROM emp WHERE deptno=30);或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MIN(sal) FROM emp WHERE deptno=30);
を使用して、部門番号 30 の従業員よりも給与が高い従業員の名前、給与、部門番号をクエリします (給与が 30 より高い場合に限ります)。とある社員)。上記 2 つのステートメントは機能的には同じですが、実行効率の点では、機能ははるかに高くなります。
5.5 複数列のサブクエリ
SQL>SELECT * FROM emp WHERE (job, deptno)=(SELECT job, deptno FROM emp WHERE ename='SMITH');
5.6 from 句でのサブクエリの使用
SQL>SELECT emp.deptno,emp.ename,emp.sal,t_avgsal.avgsal FROM emp,(SELECT emp.deptno,avg(emp.sal) avgsal FROM emp GROUP BY emp.deptno) t_avgsal where emp.deptno=t_avgsal.deptno AND emp.sal>t_avgsal.avgsal ORDER BY emp.deptno;
5.7 ページング クエリ
データベース内のデータの各行には、対応する行番号は rownum と呼ばれます。
SQL>SELECT a2.* FROM (SELECT a1.*, ROWNUM rn FROM (SELECT * FROM emp ORDER BY sal) a1 WHERE ROWNUM<=10) a2 WHERE rn>=6;
クエリ列の指定、クエリ結果の並べ替えなどを行うには、最も内側のサブクエリを変更するだけで済みます。
5.8 クエリ結果を含む新しいテーブルの作成
SQL>CREATE TABLE mytable (id,name,sal,job,deptno) AS SELECT empno,ename,sal,job,deptno FROM emp;
5.9 クエリのマージ (和集合、交差積、全和集合、マイナス差分セット)
SQL>SELECT ename, sal, job FROM emp WHERE sal>2500 UNION(INTERSECT/UNION ALL/MINUS) SELECT ename, sal, job FROM emp WHERE job='MANAGER';
マージ クエリ実行効率は、and や or などの論理クエリよりもはるかに高くなります。
5.10 サブクエリを使用してデータを挿入する
SQL>CREATE TABLE myEmp(empID number(4), name varchar2(20), sal number(6), job varchar2(10), dept number(2));
まず空のテーブルを作成します;
SQL>INSERT INTO myEmp(empID, name, sal, job, dept) SELECT empno, ename, sal, job, deptno FROM emp WHERE deptno=10;
次に、emp テーブルの部門番号 10 のデータを新しいテーブル myEmp に挿入します。データのバッチクエリを実現します。
5.11 クエリを使用してテーブル内のデータを更新する
SQL>UPDATE emp SET(job, sal, comm)=(SELECT job, sal, comm FROM emp where ename='SMITH') WHERE ename='SCOTT';関連する無料学習の推奨事項:
php プログラミング
(ビデオ)以上がSQLクエリステートメントとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

SQLは、構文が単純で、機能が強力であり、データベースシステムで広く使用されているため、初心者に適しています。 1.SQLは、リレーショナルデータベースを管理し、テーブルを介してデータを整理するために使用されます。 2。基本操作には、データの作成、挿入、クエリ、更新、削除が含まれます。 3.結合、サブクエリ、ウィンドウ関数などの高度な使用法により、データ分析機能が強化されます。 4.一般的なエラーには、検査と最適化を通じて解決できる構文、ロジック、パフォーマンスの問題が含まれます。 5.パフォーマンス最適化の提案には、インデックスの使用、Select*の回避、説明の使用を使用してクエリの分析、データベースの正規化、コードの読み取り可能性の向上が含まれます。

実際のアプリケーションでは、SQLは主にデータクエリと分析、データ統合とレポート、データのクリーニングと前処理、高度な使用と最適化、複雑なクエリの処理と一般的なエラーの回避に使用されます。 1)データのクエリと分析を使用して、最も販売製品を見つけることができます。 2)データの統合とレポートは、参加操作を通じて顧客の購入レポートを生成します。 3)データのクリーニングと前処理は、異常な年齢記録を削除できます。 4)高度な使用と最適化には、ウィンドウ関数の使用とインデックスの作成が含まれます。 5)CTEと結合を使用して、SQLインジェクションなどの一般的なエラーを回避するために複雑なクエリを処理できます。

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLは特定のデータベース管理システムです。 SQLは統一された構文を提供し、さまざまなデータベースに適しています。 MySQLは軽量でオープンソースで、パフォーマンスは安定していますが、ビッグデータ処理にはボトルネックがあります。

SQL学習曲線は急ですが、練習とコアの概念を理解することで習得できます。 1.基本操作には、選択、挿入、更新、削除が含まれます。 2。クエリの実行は、分析、最適化、実行の3つのステップに分けられます。 3.基本的な使用法は、従業員情報の照会など、Join Connection Tableの使用などです。 4.一般的なエラーには、エイリアスとSQLインジェクションの使用が含まれないことが含まれ、それを防ぐためにパラメーター化されたクエリが必要です。 5.パフォーマンスの最適化は、必要な列を選択し、コードの読みやすさを維持することにより達成されます。

SQLコマンドは、DQL、DDL、DML、DCL、TCLのMySQLの5つのカテゴリに分割され、データベースデータの定義、操作、制御に使用されます。 MySQLは、語彙分析、構文分析、最適化、実行を通じてSQLコマンドを処理し、インデックスとクエリオプティマイザーを使用してパフォーマンスを向上させます。使用法の例には、データクエリの選択を選択し、マルチテーブル操作に参加します。一般的なエラーには、構文、ロジック、パフォーマンスの問題、および最適化戦略には、インデックスの使用、クエリの最適化、適切なストレージエンジンの選択が含まれます。

SQLの高度なクエリスキルには、複雑なデータ分析要件を処理できるサブクエリ、ウィンドウ関数、CTE、複雑な結合が含まれます。 1)サブクエリは、各部門で最高の給与を持つ従業員を見つけるために使用されます。 2)ウィンドウ関数とCTEを使用して、従業員の給与成長傾向を分析します。 3)パフォーマンス最適化戦略には、インデックスの最適化、クエリの書き換え、パーティションテーブルの使用が含まれます。

MySQLは、標準のSQL関数と拡張機能を提供するオープンソースリレーショナルデータベース管理システムです。 1)MySQLは、制限句の作成、挿入、更新、削除、拡張などの標準のSQL操作をサポートしています。 2)InnodbやMyisamなどのストレージエンジンを使用しています。これらは、さまざまなシナリオに適しています。 3)ユーザーは、テーブルの作成、データの挿入、ストアドプロシージャの使用など、高度な機能を介してMySQLを効率的に使用できます。

sqlmakesdatamanagemagementisibletoallbyproviding asimpleyetpowerfultoolset andmanagingdatabases.1)itworks withersortifyify what what what what what what what what whatysortsopecifyifyを許可します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
