新手问题 SQL 两表查询问题表1
名称  数   组
7    2    五组
4    2    五组
2    89   五组
3    21   五组
4    23   五组....表2
名称  数   组
0    2    五组
1    2    二组
3    89   二组
3    21   五组
4    23   五组
......
如何查询出表1和表2完全相同的数据,名称,数,组,全部相同得结果
名称  数   组
4    23   五组

解决方案 »

  1.   


    select a.* from 表1 a, 表2 b where a.名称=b.名称 and a.数=b.数 and a.组=b.组
      

  2.   

    IF OBJECT_ID('T1')IS NOT NULL DROP TABLE T1
    GO
    CREATE TABLE T1(名称 INT,  数 INT ,  组 VARCHAR(5)) 
    INSERT T1 SELECT 7,    2  ,  '五组' 
    INSERT T1 SELECT 4,    2  ,  '五组' 
    INSERT T1 SELECT 2,    89 , '五组' 
    INSERT T1 SELECT 3,    21 , '五组' 
    INSERT T1 SELECT 4,    23 , '五组' 
    IF OBJECT_ID('T2')IS NOT NULL DROP TABLE T2
    GO
    CREATE TABLE T2(名称 INT,  数 INT ,  组 VARCHAR(5)) 
    INSERT T2 SELECT 0,    2,    '五组' 
    INSERT T2 SELECT 1,    2,    '二组' 
    INSERT T2 SELECT 3,    89,  '二组' 
    INSERT T2 SELECT 3,    21,  '五组' 
    INSERT T2 SELECT 4,    23,  '五组'
    SELECT T1.* FROM T1 WHERE EXISTS(SELECT 1 FROM T2 WHERE T2.名称=T1.名称 AND T2.数=T1.数 AND T2.组=T1.组)  
    /*名称          数           组     
    ----------- ----------- ----- 
    3           21          五组
    4           23          五组*/
      

  3.   

    SELECT T1.* FROM T1 WHERE EXISTS(SELECT 1 FROM T2 WHERE T2.名称=T1.名称 AND T2.数=T1.数 AND T2.组=T1.组)  
      

  4.   

    select * from 表1 where 表1.名称=表2.名称 and 表1.数=表2.数 and 表1.组=表2.组