首页 > 开发 > 综合 > 正文

SQL如何查询两个表的数据

2024-07-21 02:49:30
字体:
来源:转载
供稿:网友
SQL如何查询两个表的数据

  在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如:

select Emp.E_Id,Company.C_OraName from Emp,Company where Companey.C_Id=Emp.C_Id

  但是我们往往会碰到比较复杂的语句,这时候使用where就不太合适了,其实SQL可以用较为直接的形式进行连接操作,可以在From子句中以直接的形式指出:

select top 10 E_Id,E_Name,C_Name   from     Emp join Companey on Companey.C_Id=Emp.C_Id   where     E_Id not in (select top 20 E_Id from Emp order by  E_Id  asc)   order by E_Id asc//查询表Emp中第21到第30条数据以升序排列,其中C_Name来自于另一个表
Emp join Companey on Companey.C_Id=Emp.C_Id 就是一个常见的连接:表A join 表B on A.c=B.c 
连接大大简化了SQL语句,也使得SQL语句更直观易懂附:下面介绍一下SQL连接Sql连接类型有:
inner join    内连接
left outer join    左外连接
right outer join右外连接
full outer join完全外连接
   连接关键字有:NATURAL,ON,USING举例说明连接操作的结果:
表X
A  B  C  
a1b1c1
a2b2c2
a3b3c3
表Y
B  C  D  
b1 c1d1
b2c2d2
b4c4d4
           X natural left outer join Y                    
    A         B        C        D     
    a1    b1    c1    d1 
    a2    b2    c2    d2
    a3      b3    c3      null
 X left outer join Y on X.B=Y.B and X.C=Y.B
  A    X.B    X.C   Y.B    Y.C    Y.D  
  a1   b1  c1  b1    c1    d1
  a2  b2  c2  b2  c2  d2
  a3  b3  c3  null    null  null
X left outer join Y using(B)
  A    B    X.C    Y.C    D  
  a1  b1  c1  c1  d1
  a2  b2  c2  c2  d2
  a3  b3  c3  null    null


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表