在数据库系统中,空值是(什么也没有)。
解释:
所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字。
空 (NULL)
值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。 在写入数据的时候,空字符串也是一个确定的值,所以就算定义了 NOT NULL 也可以被写入。1. 查询雇员
(employee)的姓和名
Select substring(username,1,1) as 姓 from employee
Select substring(username,2,2) as 名 from employee
2. 查询雇员的姓名
Select username from employee
3. 查询雇员数
Select count(*) from employee
4. 查询雇员的姓名和职务 Select username,,duty from employee5. 查询雇员的
工龄
Select year(getdate())-开始工作日期 as 工龄 from employee
任务2:条件查询
1. 查询雇员(employee)从事"Sales Representative"职务的有哪些人
Select * from employee where duty=’ Sales Representative’
2. 查询工龄超过15年的雇员
Select * from employee where cast( (year(getdate())-开始工作日期) as int)>=15
3. 查询姓以a开头的雇员
Select * from employee where username like ‘a%’
4. 查询姓的开头字母在m以后的雇员
Select * from employee where cast((substring(username,1,1) as varchar)>=’m’
5. 认为hire_date是雇员生日,查询巨蟹座的雇员
Select * from employee where birthday between ‘6-22 ‘ and ‘7-22’
任务3:联合查询
1. 查询雇员和雇员职位
Select a.id,b.duty from employee, as a,jobs as b
2. 查询雇员、雇员职位和雇员所在出版社 Select a.id,b.duty, b.publishing from employee as a,jobs as b on a.id=b.id3. 查询雇员、雇员
工资
、雇员离本职位最高工资的差值
select a. ID,a.username,a.[雇员工资],b.[最高工资]-a.[雇员工资] as [差值] from employee a,jobs b where a.[职位]=b.[职位]
欢迎分享,转载请注明来源:内存溢出