SQL SERVER 试题解答:

哎哟,2 005 年的SQLSERVER啊,那可是个老古董了。
主键约束,这玩意儿,跟唯一约束啊,长得挺像的,都是搞数据唯一性的,但主键呢,一个表只能有一个,而唯一键,可以搞多个。
主键啊,默认是个聚集唯一索引,要是有个别的聚集索引在先,那它就成个非聚集的啦。

默认值约束,这名字听起来就简单,就是说,你要是忘了给列里填值,它就给你个默认值,省得你手忙脚乱。

check约束,这东西,就像是数据的警察,它检查数据是否符合你设定的规则,确保数据的准确性。

外键约束啊,这玩意儿就是引用其他表的主键或者唯一键,作为自己的外键。
外键值啊,必须得在引用的表中找到对应的值,要是一点影子都没有,那可就违反了外键约束了。

说到where语句和having语句,它们啊,都是用来筛选数据的,但有点不一样。
where啊,是在分组之前筛选,而having啊,是在分组之后筛选。
where里头啊,你不能用聚合函数,而having里头,你可以用聚合函数,不过非聚合函数的列,必须得在groupby里头出现。

我这话怎么这么多停顿啊,可能是说话太急了。

SQL server语句有哪些约束条件?

嗯... SQLServer... 那个... 约束啊... 有三种主要类型...
第一种啊... 实体约束... 这个是跟每一行挂钩的... 就像... 主键... 比如说... 你在2 02 2 年在一个叫上海的城市... 可能建一个订单表... 这个表的订单ID... 就是个主键... 它就不允许... 两行订单有一样的订单ID... 这种就是... 实体约束...
第二种... 域约束... 这个是跟每一列挂钩的... 就像... CHECK约束... 比如... 你在2 02 2 年... 在北京那个城市... 可能有个员工表... 这个表里的... 薪资列... 你想限制... 不能低于... 比如说... 3 000块钱... 那就是一个CHECK约束... 就规定... 所有行的薪资... 都不能小于3 000... 这种就是... 域约束...
第三种... 参照完整性约束... 这个是... 用来保证... 两个表之间的关联... 比如... 你在2 02 2 年... 可能有个订单表... 和一个客户表... 订单表里的... 客户ID... 它就必须... 对应客户表里的某个客户ID... 不能乱来... 这个就是... 参照完整性... 外键... 就是实现这个的...
然后啊... SQLServer里... 还有具体的约束条件...
比如... 默认约束... 就是... 如果你在2 02 2 年... 在某个城市... 比如深圳... 建个表... 比如用户表... 有个... 注册时间列... 你想让... 没人输入的时候... 自动填上... 当前时间... 那就用默认约束... 设置成当前时间...
还有空值约束... 就是... 你规定... 这一列... 是允许空... 还是不允许空... 比如... 用户表里的... 用户名... 你肯定不允许空... 就设置成... 不允许空...
还有检查约束... 就是... CHECK约束... 之前说过了... 限制取值范围...
还有唯一约束... 就是... 确保这一列... 不重复... 比如用户表里的... 用户名... 你想保证... 不重名... 就用唯一约束...
还有外键约束... 就是... 建立表和表之间的联系... 比如订单表里的... 客户ID... 就是个外键... 它参照客户表里的... 客户ID...
最后还有主键约束... 就是... 惟一标识每一行... 比如订单表的... 订单ID... 它就是个主键...
嗯... 就这些... 当时我可能也懵... 我后来才反应过来... 可能我偏激...