--
*************************************************************************************************************
-- 三个表: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 NOT IN
( SELECT USERID FROM USER_USERGROUP
WHERE GROUPID = ' 100 '
OR GROUPID = ' 117 '
OR (GROUPID >= ' 272 ' AND GROUPID <= ' 306 ' ));
-- 删除非东莞信息
DELETE FROM USERS
WHERE ID NOT IN
( 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 ' );
-- 删除非东莞信息
DELETE FROM 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 NOT LIKE ' %东莞% ' ;
-- 删除非东莞信息
DELETE FROM USERGROUP
WHERE GROUPID <> ' 100 '
AND GROUPDESC NOT LIKE ' %东莞% ' ;
-- 三个表: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 NOT IN
( SELECT USERID FROM USER_USERGROUP
WHERE GROUPID = ' 100 '
OR GROUPID = ' 117 '
OR (GROUPID >= ' 272 ' AND GROUPID <= ' 306 ' ));
-- 删除非东莞信息
DELETE FROM USERS
WHERE ID NOT IN
( 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 ' );
-- 删除非东莞信息
DELETE FROM 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 NOT LIKE ' %东莞% ' ;
-- 删除非东莞信息
DELETE FROM USERGROUP
WHERE GROUPID <> ' 100 '
AND GROUPDESC NOT LIKE ' %东莞% ' ;