この記事では、mysql に関する関連知識を提供します。主に、where の後のネストされたサブクエリ、from の後のネストされたサブクエリ、select の後ろのネストされたサブクエリやその他のコンテンツなど、サブクエリに関する関連コンテンツを紹介します。見てみましょう。皆さんのお役に立てれば幸いです。
推奨学習: mysql ビデオ チュートリアル
定義: select ステートメントは select ステートメント内にネストされており、ネストされた select ステートメントはサブクエリです。
サブクエリは次の場所に使用できます:
select ....(select).. from ....(select).. where ....(select)..
select * from emp where sal > (select avg(sal) from emp) ;
SELECT d.dname,AVG(s.grade) '部门平均薪资' FROM emp e JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal JOIN dept d ON e.deptno = d.deptno GROUP BY d.dname
各従業員の部門名を調べます
写法一:看作临时表 SELECT t.ename,d.dname FROM dept d JOIN (SELECT e.ename,e.deptno FROM emp e) t ON t.deptno = d.deptno 写法二:连接查询 SELECT e.ename,d.dname FROM emp e JOIN dept d ON e.deptno = d.deptno 写法三:select后嵌套子查询 SELECT e.ename,(SELECT d.dname FROM dept d WHERE d.deptno = e.deptno) AS dept FROM emp e ;
クエリ結果セットを追加できます
SELECT ename,job FROM emp e WHERE job = 'CLERK' UNION SELECT ename,job FROM emp e WHERE job = 'SALESMAN'
と、無関係な 2 つのテーブルのデータを結合することもできます。 (ただし、列数は変わりません)
SELECT ename FROM emp UNION SELECT dname FROM dept
重要なポイント、ページングクエリはそれに依存します
1) 制限はmysqlに固有です。その他 データベースにはそのようなメカニズムはありませんが、Oracle には rownum と呼ばれる同様のメカニズムがあります。
2) limit は結果セットからデータを取得します
3) 構文メカニズム: limit startIndex、length
startindex は 0 から始まる開始位置を示し、0 は最初の記事データ。
length は、取得する数を示します。
4) limit は、SQL ステートメントの最後の実行リンクです。
(現在のページ番号 - 1) * ページ サイズ = 現在のページの開始添え字
推奨学習: mysql ビデオ チュートリアル
以上がMySQL サブクエリの詳細なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。