zoukankan      html  css  js  c++  java
  • 主键与外键、子语句查询.unique.check

    主键:须   唯一性,不能为空。

    create table bumen

    (

    code int primary key,--主键:须唯一性,不为空,

     

    --(表示设置主键)当code int primary key(1,2)时,表示code从1开始逐个加2,自增长,一般不用自增长列!

    --设置主键可以 大 大 加快查询的速度。减缓插入的速度。

    bumen varchar(20),

    zhineng varchar(20),

    ceo  varchar(20),

    phone varchar(20),

    )

    Go

    Drop table haha -–删除整个 haha表!

    Create table haha

    (

    Code int ,

    Name varchar(20),

    Bumen  int references [dbo].[bumen]([code])           --  设置外键外键约束:数据必须存在于‘主键’!

    )

    Go

    直接操作时,下面操作!

    在数据库 表中打开“设计”,右键单击创建列的左头端,打开~主键~设置‘主键’;

    打开~关系~设置‘外键’。主键和外键要保证     数据类型一致    才可以设置关系!

    use new

    go

    select *from haha 

    ------------从haha表查询部门人数大于等于5的最大年龄的人的信息!-------

    -------------------子查询---------------------------------------------

    select bumen ,COUNT(*)from haha  group by bumen having COUNT(*)>5

    select MAX(age)from haha where bumen ='销售部'

    select *from haha where bumen='销售部'and age =35

    ---------------------汇总查询-----------------------------------------

    select *from haha where age =

    (select MAX (age)from haha where bumen

    in (select bumen  from haha group by bumen having COUNT (*)>=5))

    and bumen=  (select bumen from haha  group by bumen

    having COUNT(*)>=5)

    ----------------------按年龄升序排列,显示第6、7、8位的信息------------------

    select top 8 *from haha order by age asc

    select top 5 *from haha order by age asc

    select top 3 *from haha where code  not in (select top 5 code from haha order by age )order by age

    -----------------------------显示最大年龄、男性的信息--------------------

    select top 1* from haha where sex='男' order by age desc

    select *from haha where age=(select MAX(age)from haha where sex='男')and sex='男'

    ---------------------------------------------------------------------

    select top 1 bumen ,COUNT (*)from haha group by bumen order by COUNT(*) desc

    select distinct bumen from haha 

    select *from haha where age=35 and bumen = '销售部'

    select *from haha where age=35 and bumen =(select top 1 bumen from haha group by bumen order by COUNT(*)desc)

    ---------------------五个数据一组,     “分页”                      显示----------------

    select  top 5 *from haha

    select  top 5 *from haha where code not in(select top 5  code from haha )

    select  top 5 *from haha where code not in(select top 10 code from haha )

    --查看数据'分组的数量'(按每组5个分组,5.0表示浮点型数值,得出值也就是浮点型,取上限就可以了)----------------

    select ceiling (COUNT(*)/5.0)from haha

    ------------------------------------------------新建bumen 表格-----------------------------------------

    create table bumen

    (

    code int primary key,--主键:须唯一性,不为空,

    --(表示设置主键)当code int primary key(1,2)时,表示code从1开始逐个加2,自增长,一般不用自增长列!

    bumen varchar(20),

    zhineng varchar(20),

    ceo  varchar(20),

    phone varchar(20),

    )

    go

    insert into bumen values(1,'销售部','卖货','快结婚','1123456789')

    insert into bumen values(2,'财务部','卖货','快结婚','2123456789')

    insert into bumen values(3,'生产部','卖货','快结婚','3123456789')

    insert into bumen values(4,'管理部','卖货','快结婚','4123456789')

    go

    select *from  bumen

    select *from haha

    select distinct bumen  from  haha

    update haha set bumen=1 where bumen ='销售部'

    update haha set bumen=2 where bumen ='财务部'

    update haha set bumen=3 where bumen ='生产部'

    update haha set bumen=4 where bumen ='管理部'

     --------------------------'利斯'所在部门的 信息-------------------------------------

    select bumen from haha where name='利斯'

    select *from bumen where bumen=(select bumen from haha where name='利斯')

    ----------------------------”快结婚“所在部门所有人的信息-----------------------------------------

    select *from bumen where ceo='快结婚'

    select * from haha where bumen =(select code from bumen where ceo='快结婚')order by code desc

    ###############  唯一性约束unique,check 约束  ###########################

    类似于设置主键和外键,打开设计在一行的左端右键单击,找到索引/

    --设置要选中‘列’--唯一性--

    create table wtable

    (

    code int primary key,

    name varchar(30),

    cid  varchar(30)

    )

    go

    create table atable

    (

    code int primary key,

    name varchar(20),

    cid varchar(50) unique--unique 代表唯一性!输入信息不能重复!

    )

    --create unique index_aaa --创建唯一性的索引‘aaa’ 作用在atable 中cid 列!

    --on atable (cid) ----------这是在外部增加唯一性的表达方法!

    insert into atable values (1,'呵呵','21432432432')

    insert into atable values (2,'呵呵','21432432432')--此时这一条不能插入表中!cid信息重复。

    select *from atable

    ([age]>(0)AND[age]<(150))--check 约束表达格式!

  • 相关阅读:
    Gmail、还有人需要吗?
    Google 打不开
    不能忽视的Doctype
    ASP.NET2.0中用ICallbackEventHandler实现客户端与服务器端异步交互
    DataGrid常用小技巧
    ASP.NET程序安全性(三) 表单提交、过滤用户输入
    Objection!!!
    编写3dmax插件需要注意的几个问题
    又一个IGame的bug
    VC2010中的C++0x特性 Part 1:Lambdas,auto, static_assert
  • 原文地址:https://www.cnblogs.com/huaze/p/4071567.html
Copyright © 2011-2022 走看看