zoukankan      html  css  js  c++  java
  • 笔试复习题《三》

    一、数据库知识

    1,left join 、right join

    例: 表A记录如下:
    ID Num
    1 a20050111
    2 a20050112
    3 a20050113
    4 a20050114
    5 a20050115
    表B记录如下:
    ID Name
    1 2006032401
    2 2006032402
    3 2006032403
    4 2006032404
    8 2006032408
    语句:select * from A left join B on A.ID = B.ID;
    结果如下:
    ID Num ID Name
    1 a20050111 1 2006032401
    2 a20050112 2 2006032402
    3 a20050113 3 2006032403
    4 a20050114 4 2006032404
    5 a20050115 NULL NULL
    (所影响的行数为 5 行)

     

    left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的。换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。B表记录不足的地方均为NULL。
     
    SQL语句:select * from A right join B on A.aID = B.bID;
    结果如下:
    aID aNum bID bName
    1 a20050111 1 2006032401
    2 a20050112 2 2006032402
    3 a20050113 3 2006032403
    4 a20050114 4 2006032404
    NULL NULL 8 2006032408
    (所影响的行数为 5 行)
    结果说明:
    right join是以B表的记录为基础的,A可以看成左表,B可以看成右表,right join是以右表为准的。换句话说,右表(B)的记录将会全部表示出来,而左表(A)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID)。A表记录不足的地方均为NULL。
     
    SQL语句:select * from A inner join B on A.aID = B.bID;
    结果如下:
    aID aNum bID bName
    1 a20050111 1 2006032401
    2 a20050112 2 2006032402
    3 a20050113 3 2006032403
    4 a20050114 4 2006032404
    (所影响的行数为 5 行)
    结果说明:
    inner join是只显示右表(B)和左表(A)都符合搜索条件的记录(例子中为: A.aID = B.bID)。
  • 相关阅读:
    LeetCode Subsets II
    LeetCode Rotate Image
    LeetCode Palidrome Number
    LeetCode Generate Parentheses
    LeetCode Maximum Subarray
    LeetCode Set Matrix Zeroes
    LeetCode Remove Nth Node From End of List
    Linux Loop设备 使用
    Linux 文件系统大小调整
    LeetCode N-Queens II
  • 原文地址:https://www.cnblogs.com/abc8023/p/3975457.html
Copyright © 2011-2022 走看看