ホームページ  >  記事  >  データベース  >  MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています

MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています

coldplay.xixi
coldplay.xixi転載
2021-01-26 09:27:092348ブラウズ

MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています

# 無料学習に関する推奨事項: #mysql ビデオ チュートリアル #記事ディレクトリ

    • テーブル結合
      • 内部結合
        • 左結合
        • 右結合
        • サブクエリ
        自己関連付け
      • 外部キー
      • 外部キーの導入
        • 作成テーブルのときに外部キー制約を設定します。
  • テーブル接続

列ソースをクエリするとき。結果 複数のテーブルがある場合は、複数のテーブルを大規模なデータ セットに接続し、mysql
    #に返す適切な列を選択する必要があります。この時点で、テーブルを接続する必要があります
  • 内部結合

内部結合は、2 つのテーブル内で互いに一致するレコードのみを選択します

    select * from 表1 inner join 表2 on 表1.列 = 表2.列-- 显示学生的所有信息,但只显示班级名称select s.*, c.name from students s inner join classes c on s.id=c.id;-- 将班级名称显示在第一列select c.name, s.* from students s inner join classes c on s.id=c.id;-- 查询 有能够对应班级的学生以及班级信息,按照班级进行排序select c.name, s.* from students s inner join classes c on s.cls_id = c.id order by c.name asc;-- 当同一个班级时,按照学生的id进行从小到大排序select c.name, s.* from students s inner join classes c on s.cls_id = c.id order by c.name asc, s.id asc;
  • MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています ここに画像の説明を挿入
    MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています左結合

    ##クエリの結果は、2 つのテーブルに一致するデータ、左側のテーブルに保持されるデータ、および一致しないデータです。右側のテーブルに存在するものは null で埋められています

    select * from 表1 left join 表2 on 表1.列=表2.列-- students表左连接classes表 并查看班级为null的数据select * from students s left join classes c on s.cls_id=c.id having s.cls_id is null;-- 左连接 并且 查询 s.cls_id=1 并且 s.name="small-j" 的数据select * from students s left join classes c on s.cls_id=c.id having s.cls_id=1 and s.name="small-j";

    右結合

    MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています

    クエリ結果は 2 つのテーブルで一致するデータです. 左側のテーブルに存在しないデータには、右側のテーブルが保持するデータが使用されます。

    select * from 表1 right join 表2 on 表1.列 = 表2.列;
    サブクエリ

    クエリを実行する場合、必要な条件が別の選択ステートメントの結果である場合があります。この場合、サブクエリ ## を使用する必要があります。

    #
    select * from 表 where 表(子查询语句)-- 查询出students中身高最高的男生。显示名字和身高select s.name, s.high from students s where high=(select max(high) from students) and gender="男";-- 查询出高于平均身高的学生信息select * from students where high>(select avg(high) from students);-- 查询学生班级号cls_id能够对应的学生信息select * from students where cls_id in (select id from students);-- 查询最大年龄的女生的idselect * from students where id=(select max(id) from students where gender="女") and  gender="女";

    ここに画像の説明を挿入

    自己相関

    単純に、あなた自身とあなた自身の間の接続クエリとして理解してください

    -- 查询广东省下的所有广东市select * from cities c inner join provinces p on c.provinceid=p.provinceid having p.province="广东省";-- 查询广东省下的所有广东市-- 自关联select * from areas a inner join areas b on a.id=b.pid having a.name="广东";

    外部キーMySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています
    外部キーの概要MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています

    MySQL の外部キー (foreing key) はテーブルの特別なフィールドです。関連付けられた 2 つのテーブルの場合、関連付けられたフィールドの主キーが配置されているテーブルがメイン テーブル (親テーブル) となり、外部キーが配置されているテーブルが副テーブル (子テーブル) になります。

    注:
      主キーには null 値を含めることはできませんが、外部キーでは null 値が許可されます。つまり、外部キーの各非 null 値が指定された主キー、この外部キーの内容は正しいです。
    • テーブル作成時に外部キー制約を設定する
    • 外部キーを作成するときは、マスター テーブルを削除する前に、まずスレーブ テーブルを削除する必要があります。

    マスター テーブルが必要な場合は、スレーブ テーブルを作成します。

      セカンダリ テーブルの外部キーの関連付けは、プライマリ テーブルの主キーである必要があり、主キーと外部キーの型が一貫している必要があります。
    [constraint 外键名] foreign key (字段名 [,字段名2, ...]) references  主键列1 [, 主键列2, ...]
    rree
  • MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されています

    ##関連する無料学習の推奨事項:

    MySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されていますmysql データベース

    (ビデオ)

    以上がMySQL5.7 データベースでは、テーブル接続、サブクエリ、外部キーが導入されていますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

  • 声明:
    この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。