<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆心得

    記我所見,記我所想

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      34 Posts :: 0 Stories :: 16 Comments :: 0 Trackbacks

    用數學里集合的思想去解決數據庫表的問題,可以幫助我們清晰的分析和解決問題。

    查詢不滿足工作要求的人

    ?

    人名 ?? 工作名 ? 不滿足條件 ? 人條件 ? 工作條件

    張三 ?? 搬運工 ??? 年齡 ????? 8???????? 青年

    李四 ?? 教師 ????? 愛好 ????? 體育 ????? 畫畫

    ?

    在表里隨便添點數據

    ?

    查詢 比如工作表里 搬運工 需要青年 ? 張三才 8 所以不符合條件

    ?

    工作表里要求 工作 愛好是畫畫的 ? 李四的愛好是 體育 所以也不符合條件 就是把 這種不符合條件的全都查出來

    ?



    關于多表查詢的一個題
    sql腳本如下
    生成表及關系的腳本:
    /*==============================================================*/
    /* DBMS name:????? Microsoft SQL Server 2000??????????????????? */
    /* Created on:???? 2007-7-11 12:48:23?????????????????????????? */
    /*==============================================================*/


    alter table WORKS
    ?? drop constraint FK_WORKS_REFERENCE_AGE
    go

    alter table WORKS
    ?? drop constraint FK_WORKS_REFERENCE_FAVERATE
    go

    alter table WORKS
    ?? drop constraint FK_WORKS_REFERENCE_ROLE
    go

    alter table rights
    ?? drop constraint FK_RIGHTS_REFERENCE_ROLE
    go

    alter table rights
    ?? drop constraint FK_RIGHTS_REFERENCE_USERS
    go

    alter table users
    ?? drop constraint FK_USERS_REFERENCE_FAVERATE
    go

    if exists (select 1
    ??????????? from? sysobjects
    ?????????? where? id = object_id('WORKS')
    ??????????? and?? type = 'U')
    ?? drop table WORKS
    go

    if exists (select 1
    ??????????? from? sysobjects
    ?????????? where? id = object_id('age')
    ??????????? and?? type = 'U')
    ?? drop table age
    go

    if exists (select 1
    ??????????? from? sysobjects
    ?????????? where? id = object_id('faverate')
    ??????????? and?? type = 'U')
    ?? drop table faverate
    go

    if exists (select 1
    ??????????? from? sysobjects
    ?????????? where? id = object_id('rights')
    ??????????? and?? type = 'U')
    ?? drop table rights
    go

    if exists (select 1
    ??????????? from? sysobjects
    ?????????? where? id = object_id('role')
    ??????????? and?? type = 'U')
    ?? drop table role
    go

    if exists (select 1
    ??????????? from? sysobjects
    ?????????? where? id = object_id('users')
    ??????????? and?? type = 'U')
    ?? drop table users
    go

    /*==============================================================*/
    /* Table: WORKS???????????????????????????????????????????????? */
    /*==============================================================*/
    create table WORKS (
    ?? id?????????????????? int????????????????? not null,
    ?? name???????????????? char(1)????????????? null,
    ?? age????????????????? int????????????????? null,
    ?? faverate???????????? int????????????????? null,
    ?? role???????????????? int????????????????? null,
    ?? constraint PK_WORKS primary key? (id)
    )
    go

    execute sp_addextendedproperty 'MS_Description',
    ?? '工作表',
    ?? 'user', '', 'table', 'WORKS'
    go

    /*==============================================================*/
    /* Table: age?????????????????????????????????????????????????? */
    /*==============================================================*/
    create table age (
    ?? id?????????????????? int????????????????? not null,
    ?? type???????????????? char(1)????????????? null,
    ?? span???????????????? int????????????????? null,
    ?? constraint PK_AGE primary key? (id)
    )
    go

    execute sp_addextendedproperty 'MS_Description',
    ?? '年齡表',
    ?? 'user', '', 'table', 'age'
    go

    /*==============================================================*/
    /* Table: faverate????????????????????????????????????????????? */
    /*==============================================================*/
    create table faverate (
    ?? id?????????????????? int????????????????? not null,
    ?? type???????????????? char(1)????????????? null,
    ?? description????????? char(1)????????????? null,
    ?? constraint PK_FAVERATE primary key? (id)
    )
    go

    execute sp_addextendedproperty 'MS_Description',
    ?? '愛好表',
    ?? 'user', '', 'table', 'faverate'
    go

    /*==============================================================*/
    /* Table: rights??????????????????????????????????????????????? */
    /*==============================================================*/
    create table rights (
    ?? id?????????????????? int????????????????? not null,
    ?? uid????????????????? int????????????????? null,
    ?? rid????????????????? int????????????????? null,
    ?? constraint PK_RIGHTS primary key? (id)
    )
    go

    execute sp_addextendedproperty 'MS_Description',
    ?? '權限表',
    ?? 'user', '', 'table', 'rights'
    go

    /*==============================================================*/
    /* Table: role????????????????????????????????????????????????? */
    /*==============================================================*/
    create table role (
    ?? id?????????????????? int????????????????? not null,
    ?? name???????????????? char(1)????????????? null,
    ?? constraint PK_ROLE primary key? (id)
    )
    go

    execute sp_addextendedproperty 'MS_Description',
    ?? '角色表',
    ?? 'user', '', 'table', 'role'
    go

    /*==============================================================*/
    /* Table: users???????????????????????????????????????????????? */
    /*==============================================================*/
    create table users (
    ?? id?????????????????? int????????????????? not null,
    ?? name???????????????? char(1)????????????? null,
    ?? age????????????????? int????????????????? null,
    ?? faverate???????????? int????????????????? null,
    ?? sex????????????????? char(1)????????????? null,
    ?? constraint PK_USERS primary key? (id)
    )
    go

    execute sp_addextendedproperty 'MS_Description',
    ?? '用戶表',
    ?? 'user', '', 'table', 'users'
    go

    alter table WORKS
    ?? add constraint FK_WORKS_REFERENCE_AGE foreign key (age)
    ????? references age (id)
    go

    alter table WORKS
    ?? add constraint FK_WORKS_REFERENCE_FAVERATE foreign key (faverate)
    ????? references faverate (id)
    go

    alter table WORKS
    ?? add constraint FK_WORKS_REFERENCE_ROLE foreign key (role)
    ????? references role (id)
    go

    alter table rights
    ?? add constraint FK_RIGHTS_REFERENCE_ROLE foreign key (rid)
    ????? references role (id)
    go

    alter table rights
    ?? add constraint FK_RIGHTS_REFERENCE_USERS foreign key (id)
    ????? references users (id)
    go

    alter table users
    ?? add constraint FK_USERS_REFERENCE_FAVERATE foreign key (faverate)
    ????? references faverate (id)
    go

    查詢腳本 :

    select * from AGE

    select * from FAVERATE
    select * from RIGHTS


    select * from ROLE

    select * from USERS
    select u.id as uid,u.name as uname,u.age as uage,u.faverate as ufaver,r.rid as rrid from USERS u,RIGHTS r where r.uid=uid

    ?

    select wid,age,faverate,role from WORKS

    select u.id as uid,u.age as uage,u.faverate as ufaver,r.rid as rrid from USERS u,RIGHTS r where r.uid=uid

    ?


    <--符合條件的工作-->
    select distinct w.wid,a.span as aspan,w.faverate as wfaver,v.uid,v.uage,v.ufaver from AGE a,WORKS w,

    ?(select u.id as uid,u.age as uage,u.faverate as ufaver,r.rid as rrid from USERS u,RIGHTS r

    ??where r.uid=uid) v

    where a.ageid=w.age and a.span=uage and w.faverate=v.ufaver

    ?


    <--不符合條件的工作-->
    select users.name 人名,works.name 工作名,v2.aspan 需求年齡,v2.uage 用戶年齡,v2.wfaver 需求愛好,v2.ufaver 用戶愛好 from users,works,

    (select distinct w.wid,a.span as aspan,w.faverate as wfaver,v.uid,v.uage,v.ufaver from AGE a,WORKS w,

    ?(select u.id as uid,u.age as uage,u.faverate as ufaver,r.rid as rrid from USERS u,RIGHTS r

    ??where r.uid=uid) v

    ??????? where a.ageid=w.age and (a.span!=uage or w.faverate!=v.ufaver )) v2

    where v2.wid=works.wid and v2.uid=users.id order by users.name

    ?

    ?
    posted on 2007-07-11 14:03 源自有緣 閱讀(359) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成人午夜18免费看| 亚洲中文字幕无码av永久| 国产高清对白在线观看免费91| 国产麻豆视频免费观看| 亚洲综合网美国十次| 久久精品国产免费观看| 亚洲国产成人久久三区| 91嫩草国产在线观看免费| 亚洲va久久久久| 国产特级淫片免费看| 国产精品亚洲一区二区三区在线观看 | 国产精品成人免费综合| 男女超爽视频免费播放| 亚洲福利精品电影在线观看| 日韩少妇内射免费播放| 国产精品亚洲一区二区三区在线| 久久精品电影免费动漫| 亚洲视频在线不卡| 免费特级黄毛片在线成人观看| 男性gay黄免费网站| 国产亚洲精品美女久久久| **一级毛片免费完整视| 亚洲综合国产成人丁香五月激情| 国产婷婷高清在线观看免费| 国产高清视频免费在线观看| 亚洲精品白色在线发布| 成人永久免费高清| 最新国产乱人伦偷精品免费网站| 亚洲熟妇色自偷自拍另类| 日韩免费福利视频| 国产在线观看免费视频软件| 67194在线午夜亚洲| 亚洲国产婷婷香蕉久久久久久| 久久这里只精品热免费99| 亚洲最大黄色网址| 亚洲精品tv久久久久久久久久| 91精品国产免费久久国语麻豆| 亚洲国产成人无码AV在线影院| 亚洲女初尝黑人巨高清| 日韩毛片免费无码无毒视频观看| 无码免费又爽又高潮喷水的视频 |