本文共 2137 字,大约阅读时间需要 7 分钟。
第一个题有二张表A,B。A表有二个列。NAME VARCHAR(20)AGE INT 。B表也有二列 NAME VARCHAR(20)GRADE INT
A表中有三条记录,B表中有四条记录。问现在要用一条SQL语句根据A表中AGE字段把B表中的GRADE字段进行更新。条件为A表NAME和B表NAME相等。同样。B表中与A表没有相同NAME的记录不变。 MSSQL2000 第二问题。一个表中有二个列就以上A表为例。现在A表中有多例相同的记录。现在要把相同的记录删除只留一条。没有相同记录的记录不变。A表中可能四条xiao的记录。二条li的记录。一条zhang的记录
IF OBJECT_ID('Table_A', 'U') IS NOT NULL DROP TABLE dbo.sample_tableGOCREATE TABLE Table_A ( NAME VARCHAR(20), AGE INT );GOIF OBJECT_ID('Table_B', 'U') IS NOT NULL DROP TABLE Table_BGOCREATE TABLE Table_B ( NAME VARCHAR(20), GRADE INT );GO--Insert the data into Table_AINSERT INTO Table_A VALUES('AName1',20);INSERT INTO Table_A VALUES('AName2',21);INSERT INTO Table_A VALUES('AName3',22);--Insert the data into Table_BINSERT INTO Table_B VALUES('AName1',22);INSERT INTO Table_B VALUES('BName1',19);INSERT INTO Table_B VALUES('AName3',18);INSERT INTO Table_B VALUES('BName2',24);GO--type the dataprint 'Table_A:';SELECT*FROM Table_A;print 'Table_B:';SELECT*FROM Table_B;/* 现在要用一条SQL语句根据A表中AGE字段把B表中的GRADE字段进行更新。 条件为A表NAME和B表NAME相等。同样。B表中与A表没有相同NAME的记录不变。*/UPDATE Table_BSET GRADE=(SELECT AGE FROM Table_A WHERE Table_A.NAME=Table_B.NAME)WHERE Table_B.NAME IN(SELECT Table_A.NAME FROM Table_A,Table_B WHERE Table_A.NAME=Table_B.NAME);--display the data of Table_Bprint 'Table_B:';SELECT*FROM Table_B;/* 第二问题。一个表中有二个列就以上A表为例。现在A表中有多例相同的记录。现在要把相同的记录删除只留一条。 没有相同记录的记录不变。A表中可能四条xiao的记录。二条li的记录。一条zhang的记录 */--Before inserting the data into Table_A INSERT INTO Table_A VALUES('zhang',18);INSERT INTO Table_A VALUES('zhang',18);INSERT INTO Table_A VALUES('zhang',18);INSERT INTO Table_A VALUES('zhang',18);INSERT INTO Table_A VALUES('xiao',19);INSERT INTO Table_A VALUES('xiao',19);INSERT INTO Table_A VALUES('EricHu',22);--Display the data of Table_APRINT 'Table_A';SELECT*FROM Table_A;--implementint the require....SELECT DISTINCT*INTO #Temp_Table FROM Table_A SELECT*FROM #Temp_Table;DELETE FROM Table_A;INSERT INTO Table_A SELECT*FROM #Temp_Table;DROP TABLE #Temp_Table;SELECT*FROM Table_A;DROP TABLE Table_A;DROP TABLE Table_B;GO
本文转自yonghu86 51CTO博客,原文链接:http://blog.51cto.com/yonghu/1321440,如需转载请自行联系原作者