SQL操作符与SELECT子句

SQL操作符与SELECT子句

ID:40713501

大小:22.64 KB

页数:7页

时间:2019-08-06

SQL操作符与SELECT子句_第1页
SQL操作符与SELECT子句_第2页
SQL操作符与SELECT子句_第3页
SQL操作符与SELECT子句_第4页
SQL操作符与SELECT子句_第5页
资源描述:

《SQL操作符与SELECT子句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、高级数据过滤AND操作符要通过不止一个列进行果过滤,可以使用AND操作符对WHERE子句附加条件,用在WHERE子句中的关键字OR操作符OR操作符与AND操作符正好相反,它告诉DBMS检索匹配任一条件的行,事实上,许多DBMS在OR WHERE子句的第一个条件得到满足的情况下就不再计算第二个条件了(在第一个条件满足时,不管第二个条件是否满足,相应的行都将被检索出来)IN操作符In操作符用来指定条件范围,范围中的每个条件都可以进行匹配,in取一组逗号分隔,括在圆括号中的合法值IN操作符允许我们在WHERE子句中规定多个值。SQLIN语法SELECTcolumn_name(s)FROMtab

2、le_nameWHEREcolumn_nameIN(value1,value2,...)IN操作符实例SELECTprof_name,prod_priceFROMProductsWHEREvend_idIN(‘DLL01’,’BRSo1’)ORDERBYprod_name此SELECT语句检索由供应商DDL01和BRS01制造的所有产品,IN操作符后跟由逗号分隔的合法值,这些值必须在圆括号中.你会猜测IN操作符完成了与OR相同的功能,恭喜你答对了,下面的SQL语句完成了与上面的例子相同的工作,SELECTprod_name,prod_priceFROMProductsWHEREvend_

3、id=’DDL01’ORvend_id=’BRS01’ORDERBYprod_name;in与=的区别selectnamefromstudentwherenamein('zhang','wang','li','zhao');与selectnamefromstudentwherename='zhang'orname='li'orname='wang'orname='zhao'的结果是相同的。为什么使用IN操作符呢,优点如下:1.IN操作符的语法更清楚直观,2.IN的最大优点是可以包含其他的SELECT语句,能够更动态地建立WHERE子句,NOT操作符WHERE子句中的NOT操作符有且只有一

4、个功能,那就是否定其后所跟的任何条件,因为NOT从不单独使用,(他总是与其他操作符一起使用),所以了他的语法与其他操作符有所不同,NOT关键字可以用在要过滤的列强,而不仅是在其后.实例:列出除了DLL01之外的所有供应商制造的产品SELECTprod_nameFROMProductsWHERENOTvend_id=’DLL01’ORDERBYprod_name这里的NOT否定跟在其后的条件,因此,DBMS不是匹配vend_id为DLL01,而是匹配非DLL01之外的所有东西上面的例子也可以使用<>操作符完成SELECTprod_nameFROMProductsWHERENOTvend_i

5、d<>’DLL01’ORDERBYprod_name在简单的WHERE子句中NOT没有什么优势,但是在复杂的子句中NOT是非常有用的,例如,在与IN操作符联合使用时,NOT可以非常简单地找出与条件列表不匹配的行any、all、exists的使用1.数据表有如下数据表:StudentInfo学员信息表,表数据如图1所示:IDNAMESCORECLASSNAME1张青青78S11012李红54S11013顾小强86S11014陈乔34S11025韩伟99S1102图1学员信息表数据其中,ID代表学员编号,NAME为学员姓名,SCORE为学员考试成绩,CLASSNAME为学员所在的班级名称。2

6、.any的使用编写sql语句查询:S1101班哪些学生的成绩高于S1102班的最低成绩SELECTNAMEFROMstudentInfoWHEREclassname='S1101'ANDscore>(SELECTMIN(score)FROMstudentInfoWHEREclassname='S1102');除此之外,我们还可以使用any:SELECTNAMEFROMstudentInfoWHEREclassname='S1101'ANDscore>ANY(SELECTscoreFROMstudentInfoWHEREclassname='S1102');3.all的使用编写sql语句查

7、询:S1101班哪些学生的成绩高于S1102班的最高成绩SELECTNAMEFROMstudentInfoWHEREclassname='S1101'ANDscore>(SELECTMAX(score)FROMstudentInfoWHEREclassname='S1102');除此之外,我们还可以使用all:SELECTNAMEFROMstudentInfoWHEREclassname='S1101'ANDscore>ALL(SE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。