掌握SQL四条最基本的数据操作语句
2006-04-07 10:44:30 来源:WEB开发网同样我们应该指出order by子句只将临时表中的结果进行排序;并不影响原来的表。
假设我们希望得到按部门排序并从工资最高的雇员到工资最低的雇员排列的列表。除了工资括号中的内容,我们还希望看到按照聘用时间从最近聘用的雇员开始列出的列表。以下是你将要用到的语句:
select branch_office,first_name,
last_name,salary,hire_date
from employees
order by salary desc,
hire_date desc;
这里我们进行了多列的选择和排序。排序的优先级由语句中的列名顺序所决定。sql将先对列出的第一个列进行排序。如果在第一个列中出现了重复的行时,这些行将被按照第二列进行排序,如果在第二列中又出现了重复的行时,这些行又将被按照第三列进行排序……如此类推。这次查询的结果如表5所示。
将一个很长的表中的所有列名写出来是一件相当麻烦的事,所以sql允许在选择表中所有的列时使用*号:
select * from employees;
这次查询返回整个employees表,如表1所示。
下面我们对开始时给出的select语句的语法进行一下更新(竖直线表示一个可选项,允许在其中选择一项。):
select [distinct]
(column [{, columns}])| *
from table [ {, table}]
[order by column [asc] | desc
[ {, column [asc] | desc }]];
定义选择标准
在我们目前所介绍的select语句中,我们对结果表中的列作出了选择但返回的是表中所有的行。让我们看一下如何对select语句进行限制使得它只返回希望得到的行:
select columns from tables [where predicates];
where子句对条件进行了设置,只有满足条件的行才被包括到结果表中。这些条件由断言(predicate)进行指定(断言指出了关于某件事情的一种可能的事实)。如果该断言对于某个给定的行成立,该行将被包括到结果表中,否则该行被忽略。在sql语句中断言通常通过比较来表示。例如,假如你需要查询所有姓为jones的职员,则可以使用以下select语句:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接