sql约束取值范围0-100

本系统为@牛旦教育IT课堂在微头条上的内容,

为便于查阅,特辑录于此,都是常用SQL基本用法。。

sql约束取值范围0-100

前两篇连接:

(一):SQL点滴(查询篇):数据库基础查询案例实战

(二):SQL点滴(排序篇):数据常规排序查询实战示例

(三):常用SQL系列之(三):记录叠加、匹配、外连接及笛卡尔等

(四):常用SQL系列之:Null值、插入方式、默认值及复制等

(五):常用SQL系列之(五):多表和禁止插入、批量与特殊更新等

(六):常用SQL系列之(六):删除方式、数据库、表及索引元信息查询等

SQL点滴(42):如何直接通过SQL语句查看数据表的约束信息?

也就是说,我想查看数据库中某一表的约束定义以及所基于的约束列信息,那在数据库中如何实现呢?

1)在MySQL中,可以通过这样系统表(information_schema.table_constraints 和information_schema.key_column_usage)进行关联查询。参考语句如下:

SELECT

a.table_name,

a.constraint_name,

b.column_name,

a.constraint_type

FROM

information_schema.TABLE_CONSTRAINTS a,

information_schema.key_column_usage b

WHERE

a.TABLE_NAME = 'tx_department'

AND a.TABLE_SCHEMA = 'test'

AND a.TABLE_NAME = b.TABLE_NAME

AND a.TABLE_SCHEMA = b.TABLE_SCHEMA

AND a.CONSTRAINT_NAME = b.CONSTRAINT_NAME

以上实现也可以直接适用SQL Server和PostgreSQL。

2)在Oracle中,通过查询系统表SYS.ALL_CONSTRAINTS和SYS.ALL_CONS_COLUMNS参考语句如下所示:

select a.table_name,a.constraint_name,b.column_name,a.constraint_type

from all_constraints a, all_cons_columns b

where a.table_name = 'mytable'

and a.owner = 'mydb'

and a.table_name = b.table_name

and a.owner = b.owner

and a.constraint_name = b.constraint_name ;

3)在DB2中,通过查询系统表SYSCAT.TABCONST和SYSCAT.COLUMNS来查看约束,具体实现,自己动手来试试吧。

SQL点滴(43):数据表中对数字列的平均值计算问题 。

如果我们我们要对员工表的 薪资列进行平均值进行统计计算,需要注意如下问题:

1)按部门计算各部门的薪资平均值,参考SQL如下:

select deptno,avg(salary) as avg_sal from employee group by deptno ;

注意这里是按部门进行分组在进行平均值计算的;

2)对所有员工进行平均值进行计算,参考SQL如下:

select avg(salary) as avg_sal from employee ;

不带where子句,对所有非null值进行计算;

3)若要对null值也进行平均计算,你可以使用我们前面说过的函coalesce函数,参考如下:

select avg(coalesce(salary,0)) from employee ;

需要注意,group by 列 不一定要包含在select列表中。

好了,你自己操练一把吧。^_^

SQL点滴(44):如何找出某列中的最大/最小值 ?

比如计算雇员列表中薪资列中的最大值和最小值。当然你还可以扩展每个部门的最高值和最低值。要实现这个目的,我们可以这么干,参考SQL如下:

select min(salary) as min_sal,max(salary) as max_sal from employee ;

若要查看每个部门的最高工资和最低工资,那要怎么做?也就是要根据部门分组再进行类似上面的查询,参考SQL如下:

select deptno, min(salary) as min_sal,max(salary) as max_sal

from employee group by deptno ;

特别注意:min和max函数会忽略null值。假设上述有两个部门10和99的,而salary为null,那上面的结果就会有只有部门号而没有大小值的行出现。

好了今天的一则分享就这些,试试看看。^_^

SQL点滴(45):如何计算数据表中某列非NULL值的数量?

也就是说,数据表某类的列值,可以有值,也可以为空,如何只计算非空的列数呢?

其实这是个细节问题,只要稍加注意就可计算出。当我们用count(*)来计算行时,是包含null值和非null值的的。但如果是指明列明,则就不会把null计算在内。所以,为了完成上述任务,比如想计算有奖金的员工数量,可以这样来实现:

select count(reward) from bonus.

就这么简单,试试吧。

本篇就辑录到这,点个赞分享出去吧。

本文【sql约束取值范围0-100】由作者: 外键 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4180.html

(0)
上一篇 2023-03-10 08:21:46
下一篇 2023-03-10 08:28:23

相关推荐

  • pcb线路板电路图_电子元器件基础知识大全

    一张电路图通常有几十乃至几百个元器件,它们的连线纵横交叉,形式变化多端,初学者往往不知道该从什么地方开始,怎样才能读懂它。其实电子电路本身有很强的规律性,不管多复杂的电路,经过分析可以发现,它是由少数几个单元电路组成的。只要先熟悉常用的基本单元电路,再学会分析和分解电路的本领,看懂一般的电路图应该是不难的。 一、电子电路的意义 电路图是人们为了研究和工程的需…

    2023-03-12
    400
  • linux操作系统快速入门

    Linux的学习路径简单点来说就是: 计算机概论与硬件相关知识 Linux初级:Linux系统安装、图形界面使用、常用命令 Linux中级:Linux用户和文件系统管理、软件安装配置、网络管理、系统维护、shell编程初步 Linux高级分为两部分: (1)Linux服务器领域:数据库、防火墙、DNS服务器、VPN服务器、Web服务器、Mail服务器、FTP…

    2023-03-08
    600
  • bin文件用什么软件打开,bin文件怎么打开

    虽然我们平时标准的Windows格式都是来来回回那几种通用格式,但是你收到的文件却不一定是,它往往变成你不认识的格式,比如说文件类型格式显示bin。为什么会产生这样的问题呢? 1、 下载并运行“UltraISO”软件-文件-打开 2、 选择“xx.bin”文件,点击“打开” 3、 如果能正常打开,则表示这个文件就是光盘镜像文件,软件的右侧会出现bin文件里面…

    2023-03-18
    000
  • 什么是子目录什么是根目录

    1、Linux分区与Windows分区 Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个==根目录(/)==,所有的文件(资源)都存储在以==根目录(/)==为树根的==树形==目录结构中。 ·Windows: Linux: 2、Linux系统文件架构 在 Linux 根目录(/)下包含很多的子目录,称为一级目录。例…

    2023-03-19
    100
  • 软文写作技巧教程有什么呢_软文写作技巧有哪些

    软文是一种具有伪装性的广告,它与平常性的文章不一样,目的是为了提升商家的知名度、美誉度。很多人不知道该如何写一篇既吸引人,又能达到企业宣传目的软文,这里金蛛教育的韩老师就教教你,软文的写作技巧。 1、有吸引力的标题 标题是读者第一眼看到文字,因此一个好的标题几乎决定了一篇软文成功的大半,如何写一个有创意,吸引人的标题呢?你可以从以下几个方面入手:第一,结合当…

    2023-03-09
    1000
  • java常量和变量的区别_java变量赋值给常量

    学习常量和变量之前,让我们先来了解一下常量和变量的含义: 常量:简单理解就是不能改变的量; 变量:可以改变的量。 是不是觉得太简单了,当然没有这么简单,下面我们通过实例先来定义一下变量和常量。大家能看出区别吗? public class ClAndBl { int a = 10; //成员变量(全局变量) static int b = 10; //静态成员变…

    2023-03-08
    900
  • 十六进制转十进制小数点后怎么算(十六进制50如何表示)

    进制的转换 1)R进制转十进制:按权展开 二进制转十进制:10100.01 = 1 x 2^4 + 1 x 2^2 + 1 x 2^-2 七进制转十进制:604.01 = 6 x 7^4 + 4 x 7^0 + 1 x 7^-2 说明:小数点前从0开始,小数点后从-1开始; 多少进制转十进制,则底数替换成多少 2)十进制转R进制:短除法 十进制94转二进制 …

    2023-03-20
    000
  • ldap是什么认证

    如果您是刚接触Active Directory (AD)的初学者,那么当您发现LDAP这个术语时可能会感到十分迷茫。今天就让我们来帮您熟悉 LDAP,相信这对于您学习AD域管理也会有帮助。 首先,让我们直面主题!什么是 LDAP? LDAP指轻型目录访问协议,允许用户查询自身及其他用户属性、资源、应用程序和其他活动目录的详细信息。它是使AD域各类功能成为可能…

    2023-03-19
    000
  • android框架结构(Android的体系结构)

    Android系统架构_小段学长的博客-CSDN博客_android系统架构 Android系统的层次架构非常清晰,其平台由应用程序、应用程序框架、系统库、Android运行时以及Linux内核5部分组成。 APPLICATIONS(应用程序) Android平台默认包含了主要的应用程序,包括电子邮件、短信、日历、地图、浏览器、联系人等,这些程序都是用Jav…

    2023-03-16
    200
  • access数据库可以用来干什么,access有什么实际用途

    Access数据库最基础的对象是什么? 数据库最基础的对象是表。 Access提供表、查询、窗体、报表、页、宏,模块等用来建立数据库系统的对象;其中,表是最基础的对象。表就像是一个容器,可以存放原始数据。当你在Access里输入数据的时候,表会将有一定关联的数据以逻辑组合的方式进行存储。 什么是Access数据库? Access是一款数据库应用的开发工具软件…

    2023-03-13
    500

发表回复

登录后才能评论
返回顶部
错说博客上线啦!