资源描述:
《sql-过滤和排序数据.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、过滤和排序数据目标通过本章学习,您将可以:在查询中过滤行。在查询中对行进行排序。在查询中过滤行返回在90号部门工作的所有员工的信息EMPLOYEES…过滤使用WHERE子句,将不满足条件的行过滤掉。WHERE子句紧随FROM子句。SELECT*
2、{[DISTINCT]column
3、expression[alias],...}FROMtable[WHEREcondition(s)];WHERE子句SELECTemployee_id,last_name,job_id,department_idFROMemployeesWHEREdepartm
4、ent_id=90;字符串和日期字符串和日期要包含在单引号中。字符串区分大小写,日期格式敏感。默认的日期格式是DD-MON-RR。SELECTlast_name,job_id,department_idFROMemployeesWHERElast_name='Whalen';比较条件操作符=>>=<<=<>含义等于大于大于、等于小于小于、等于不等于SELECTlast_name,salaryFROMemployeesWHEREsalary<=3000;比较运算其它比较条件操作符BETWEEN...AND...IN(set)LIKEISN
5、ULL含义在两个值之间(包含两边边界)等于值列表中的一个模糊查询是否是空值BETWEEN使用BETWEEN运算来显示在一个区间内的值。SELECTlast_name,salaryFROMemployeesWHEREsalaryBETWEEN2500AND3500;LowerlimitUpperlimitSELECTemployee_id,last_name,salary,manager_idFROMemployeesWHEREmanager_idIN(100,101,201);IN使用IN运算显示列表中的值。LIKE使用LIKE运算选择类
6、似的值选择条件可以包含字符或数字:%代表零个或多个字符。_代表一个字符。SELECTfirst_nameFROMemployeesWHEREfirst_nameLIKE'S%';‘%’和‘-’可以同时使用。可以使用ESCAPE标识符选择‘%’和‘_’符号。LIKESELECTlast_nameFROMemployeesWHERElast_nameLIKE'_o%';SELECTlast_nameFROMemployeesWHERElast_nameLIKE'_/_%'escape'/';NULL使用NULL判断空值。SELECTlast_
7、name,manager_idFROMemployeesWHEREmanager_idISNULL;逻辑运算操作符ANDORNOT含义逻辑与逻辑或逻辑否ANDAND要求和的关系为真。SELECTemployee_id,last_name,job_id,salaryFROMemployeesWHEREsalary>=10000ANDjob_idLIKE'%MAN%';OROR要求或关系为真。SELECTemployee_id,last_name,job_id,salaryFROMemployeesWHEREsalary>=10000ORjo
8、b_idLIKE'%MAN%';SELECTlast_name,job_idFROMemployeesWHEREjob_idNOTIN('IT_PROG','ST_CLERK','SA_REP');NOT优先级可以使用括号改变优先级顺序优先级1算术运算符2连接符3比较符4IS[NOT]NULL,LIKE,[NOT]IN5[NOT]BETWEEN6NOT7AND8ORSELECTlast_name,job_id,salaryFROMemployeesWHEREjob_id='SA_REP'ORjob_id='AD_PRES'ANDsalar
9、y>15000;优先级SELECTlast_name,job_id,salaryFROMemployeesWHERE(job_id='SA_REP'ORjob_id='AD_PRES')ANDsalary>15000;优先级使用括号控制执行顺序。SELECTlast_name,job_id,department_id,hire_dateFROMemployeesORDERBYhire_date;ORDERBY子句使用ORDERBY子句排序ASC:升序,默认DESC:降序ORDERBY子句在SELECT语句的结尾。…降序排序SELECTla
10、st_name,job_id,department_id,hire_dateFROMemployeesORDERBYhire_dateDESC;…按别名排序SELECTemployee_id,