-- ************************************************************************************************************* -- 三个表:USERS(ID) -- USER_USERGROUP(GROUPID USERID) -- USERGROUP(GROUPID) -- USERS表与USERGROUP表通过USER_USERGROUP表实现关联,并有外键约束。 -- 删除USERS与USERGROUP中任一表里的记录,都需要先把USER_USERGROUP表里相关 -- 信息删除。 -- ************************************************************************************************************** --管理员用户信息 SELECT*FROM USERS WHERE NAME ='system'; SELECT*FROM USER_USERGROUP WHERE USERID ='1'; SELECT*FROM USERGROUP WHERE GROUPID ='100'; --===USERS表 SELECT*FROM USERS; --只剩东莞信息。 --东莞信息。查找存在USERS表中在USER_USERGROUP表有记录的记录,共1790条记录。 SELECT*FROM USERS WHERE ID IN (SELECT USERID FROM USER_USERGROUP WHERE GROUPID ='100' OR GROUPID ='117' OR (GROUPID >='272'AND GROUPID <='306')); --非东莞信息。查找存在USERS表中在USER_USERGROUP表没有记录的记录。与上一SQL语句结果相反。 SELECT*FROM USERS WHERE ID NOTIN (SELECT USERID FROM USER_USERGROUP WHERE GROUPID ='100' OR GROUPID ='117' OR (GROUPID >='272'AND GROUPID <='306')); --删除非东莞信息 DELETEFROM USERS WHERE ID NOTIN (SELECT USERID FROM USER_USERGROUP WHERE GROUPID ='100' OR GROUPID ='117' OR (GROUPID >='272'AND GROUPID <='306')); --===USER_USERGROUP表 SELECT*FROM USER_USERGROUP; --只剩东莞信息 --东莞信息,1790条记录 SELECT*FROM USER_USERGROUP WHERE GROUPID ='100' OR GROUPID ='117' OR (GROUPID >='272'AND GROUPID <='306'); --非东莞信息,上一SQL语句结果集取反。 SELECT*FROM USER_USERGROUP WHERE GROUPID <>'100' AND GROUPID <>'117' AND (GROUPID <'272'OR GROUPID >'306'); --删除非东莞信息 DELETEFROM USER_USERGROUP WHERE GROUPID <>'100' AND GROUPID <>'117' AND (GROUPID <'272'OR GROUPID >'306'); --===USERGROUP表,37条记录。 SELECT*FROM USERGROUP; --只剩下东莞 --东莞信息 SELECT*FROM USERGROUP WHERE GROUPID ='100' OR GROUPDESC LIKE'%东莞%'; --非东莞信息,上一SQL语句结果集取反。 SELECT*FROM USERGROUP WHERE GROUPID <>'100' AND GROUPDESC NOTLIKE'%东莞%'; --删除非东莞信息 DELETEFROM USERGROUP WHERE GROUPID <>'100' AND GROUPDESC NOTLIKE'%东莞%';