在SQL servre的使用中,查询的用法是最多的、最重要的,也是最难学习的,因此掌握查询的用法很重要。
先将表的示例上图
员工表:
部门表: 薪水表:
在员工表中包括:员工编号,姓名,职位,上司编号,雇用时间,薪水,奖金,部门编号 这几个字段。
1.查询中计算列的用法:
可以整体输出员工表的信息 *代表所有的----
select * from emp;
假如要输出某个字段或者某几个字段的具体信息,比如我们要输出 员工姓名和员工的薪水----
select ename,sal from emp
结果如下图所示:
我们也可以给某个字段用别名的形式来表示----
select ename,sal as "月薪" from emp 效果是sal 变成了 别名年薪
2.查询中 distinct 的用法
distinct 表示的是不允许重复的, 即会过滤掉重复的数据
如在emp表中的deptno字段中 有重复的数据,假若我们需要过滤掉他们----
select distinct deptno from emp
显示的结果是:
select distinct deptno,ename from emp --这是把 deptno ename 的组合整体重复的数据过滤掉。
3.between的用法--表示自某个范围
假如我们查找工资在1300到2800之间的员工的信息
查询结果如下:
等价于
where 表示有条件的从表中选取某些数据。
用法:select 字段名 from 表名 where 列 运算符 值 (即 选择的条件)
4. in 的用法
in 表示某个孤立的值
等价于
not in 表示把sal 既不是1000也不是3000也不是5000的所有信息输出
5. NUll的用法
null表示没有值,表示空值。而零表示一个确定的值 这两个是有区别的
null 不能参与如下的运算 < > != =
null 可以参与 is 和 is not 的运算
例 将奖金为不为空的员工的信息输出
输出的结果是
注意: 任何数据类型都允许为null
任何数字与null 参与数学运算的结果永远为null