<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 源自有緣 閱讀(356) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 精品免费人成视频app| 国产精品成人啪精品视频免费| 久久国产免费一区二区三区 | 16女性下面无遮挡免费| 国产成人无码综合亚洲日韩| 中文字幕在线成人免费看| 亚洲人成色77777在线观看大| 免费无码AV一区二区| 亚洲午夜爱爱香蕉片| rh男男车车的车车免费网站| 亚洲色欲久久久久综合网| 国产特黄特色的大片观看免费视频| 久久精品国产精品亚洲人人| 巨胸狂喷奶水视频www网站免费| 亚洲中文字幕久久精品无码APP | 大香人蕉免费视频75| 亚洲av纯肉无码精品动漫| 国产一区二区视频免费| 久草免费福利在线| 亚洲va中文字幕无码久久| 99国产精品免费观看视频| 亚洲日本人成中文字幕| 日本免费一区二区三区最新| 暖暖免费中文在线日本| 国产亚洲AV无码AV男人的天堂| 一个人免费日韩不卡视频| 精品久久亚洲中文无码| 国产免费啪嗒啪嗒视频看看| 精选影视免费在线 | 67pao强力打造67194在线午夜亚洲| 黄色成人免费网站| 国产成人不卡亚洲精品91| 亚洲香蕉成人AV网站在线观看| 日韩人妻一区二区三区免费| 中中文字幕亚洲无线码| 免费v片在线观看无遮挡| 毛片在线全部免费观看| 亚洲熟妇AV一区二区三区浪潮| 亚洲日本在线观看视频| 最近中文字幕mv免费高清视频8| 亚洲精品理论电影在线观看|