• 笔试复习题《三》


    一、数据库知识

    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)。
  • 相关阅读:
    SqlMapClient对象
    斐波拉契数列的由来
    马士兵struts2
    [转]ASP.NET Repeater控件
    C# 使用委托
    C# 实现图片的放大缩小和平移
    托管改变属性的值InvokeRequired
    [转]正确使用 RamDisk Plus 的方法解决分配内存后占用系统内存的问题
    简单学习Infopath
    C# Image与ByteArray转换
  • 原文地址:https://www.cnblogs.com/abc8023/p/3975457.html
Copyright © 2020-2023  润新知