検索
ホームページデータベースSQL一般的な SQL クエリ ステートメントは何ですか?

一般的な SQL クエリ ステートメントには次のものが含まれます: 1. テーブル構造の表示 [SQL>DESC emp;]; 2. すべての列のクエリ [SQL>SELECT * FROM emp]; 3. 指定された列のクエリ [SQL>SELECT empmo , ]; 4. 指定された行をクエリします [SQL>SELECT * FROM]。

一般的な 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)=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 つ以上の文字を表し、_ は 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;
# の値で並べ替えます##(部門別昇順、給与別降順)


11. ユースケース ... when ... then ... クエリ結果の処理を終了

SQL>SELECT CASE a WHEN "original_a" THEN "新しい名前 Aa" WHEN "original_b" THEN "新しい名前 Bb" END AS XXX;

テーブル内のフィールドを選択しますaの内容がoriginal_aの場合、内容は「新しい名前Aa」と表示されます。

12. 日付データのフォーマット

SQL>SELECT DATE_FORMAT(start_time,"%Y-%m-%d") as "时间";
2. 複雑なクエリ

1. データのグループ化 (最大、 min,avg,sum,count)

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. group by (クエリ結果の統計をグループ化するために使用) および Hasting 句 (グループ表示結果を制限するために使用)

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. グループ化関数は、選択リスト、having、order by 句 (where には含まれません) にのみ使用できます

b. select ステートメントの場合group by、having、order by が同時に含まれている場合、それらの順序は group by、having、order by になります。

c. 選択した列に列、式、およびグループ化関数がある場合、これらの列と式は group by 句に含める必要があり、そうでない場合はエラーが発生します。つまり、SELECT 句の列名はグループ化列または列関数である必要があります。

group by の使用は、have を使用するための前提条件ではありません。

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;
選択したデータを新しいテーブルとして使用して、左結合クエリを実行します (https://q.cnblogs から)。 com/q /67530/

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=&#39;SMITH&#39;);

クエリ テーブル内の 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」が使用されます。

in とexists の違い:exists() の後のサブクエリは相関サブクエリと呼ばれ、リストの値を返しません。 true または false の結果を返すだけで、メイン クエリを 1 回実行し、その後サブクエリで対応する結果をクエリするという操作方法です。 trueの場合は出力され、そうでない場合は出力されません。次に、メイン クエリの各行に基づいてサブクエリでクエリを実行します。 in() の後のサブクエリは結果セットを返します。つまり、exists() とは実行順序が異なります。サブクエリは最初に結果セットを生成し、次にメイン クエリはその結果セットにアクセスして、要件を満たすフィールドのリストを検索します。要件を満たしている場合は出力されます。要件を満たしていない場合は出力されません。

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 の従業員よりも給与が高い従業員の名前と給与をクエリします (給与がそれより高い場合に限ります)。特定の従業員の)と部門番号。上記 2 つのステートメントは機能的には同じですが、実行効率の点では、機能ははるかに高くなります。

5.5 複数列のサブクエリ

SQL>SELECT * FROM emp WHERE (job, deptno)=(SELECT job, deptno FROM emp WHERE ename=&#39;SMITH&#39;);

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=&#39;MANAGER&#39;;

合并查询的执行效率远高于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=&#39;SMITH&#39;) WHERE ename=&#39;SCOTT&#39;;

相关免费学习推荐:SQL视频教程

以上が一般的な SQL クエリ ステートメントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
SQLおよびMySQL:コアの違いを理解しますSQLおよびMySQL:コアの違いを理解しますApr 17, 2025 am 12:03 AM

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

SQL:初心者向けの学習曲線SQL:初心者向けの学習曲線Apr 16, 2025 am 12:11 AM

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

SQL:コマンド、mysql:エンジンSQL:コマンド、mysql:エンジンApr 15, 2025 am 12:04 AM

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

データ分析のためのSQL:ビジネスインテリジェンスの高度な手法データ分析のためのSQL:ビジネスインテリジェンスの高度な手法Apr 14, 2025 am 12:02 AM

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

MySQL:SQLの特定の実装MySQL:SQLの特定の実装Apr 13, 2025 am 12:02 AM

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

SQL:すべての人がデータ管理にアクセスできるようにしますSQL:すべての人がデータ管理にアクセスできるようにしますApr 12, 2025 am 12:14 AM

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

SQLインデックス戦略:クエリパフォーマンスを桁違いに改善するSQLインデックス戦略:クエリパフォーマンスを桁違いに改善するApr 11, 2025 am 12:04 AM

SQLインデックスは、巧妙なデザインを通じてクエリパフォーマンスを大幅に改善できます。 1. Bツリー、ハッシュ、フルテキストインデックスなどの適切なインデックスタイプを選択します。 2。複合インデックスを使用して、マルチフィールドクエリを最適化します。 3.オーバーインデックスを避けて、データメンテナンスのオーバーヘッドを減らします。 4.不要なインデックスの再構築や削除など、定期的にインデックスを維持します。

SQLで制約を削除する方法SQLで制約を削除する方法Apr 10, 2025 pm 12:21 PM

SQLの制約を削除するには、次の手順を実行します。削除する制約名を特定します。 ALTER TABLEステートメントを使用してください:Table Table Name Drop Constraint Constraint Nameを変更します。削除を確認します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

mPDF

mPDF

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