预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Where子句常用的各种条件运算符:比较运算符(大小比较):>、>=、=、<、<=、!>、!<范围运算符(表达式值是否在指定的范围):between…….and……notbetween……and…列表运算符(判断表达式是否为列表中的指定项):in(项1,项2…………)notin(项1、项2……..)模式匹配符(判断值是否与指定的字符通配格式相符):like、notlike百分号%:可匹配任意类型和长度的字符空值判断符(用于多条件的逻辑连接):not、and、or查询结果排序:Orderby{column_name[ASC|DESC]}[,………n],其中ASC表示升序,为默认值,DESC为降序例如:select*fromusertableorderbyagedesc,useridasc联合查询:Union运算符可以将两个或两个以上select语句的查询结果集合合并成一个结果集合显示,即执行联合查询,Select_statementunion[all]selectstatementSelectstatement为待联合的select查询语句连接查询:通过连接运算符可以实现多个表查询。语法格式为:Fromjoin_tablejoin_typejoin_tableJoin_type指出链接类型,可分为:内连接、外连接和交叉连接。内连接(INNERJOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种外连接分为左外连接(LEFTOUTERJOIN或LEFTJOIN)、右外连接(RIGHTOUTERJOIN或RIGHTJOIN)和全外连接(FULLOUTERJOIN或FULLJOIN)三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。交叉连接(CROSSJOIN)没有Where子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。连接操作中的ON(join_condition)子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。内连接详解:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。外连接详解:内连接时,返回查询结果集合中的仅是符合查询条件(Where搜索条件或HAVING条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行左外连接:Selecta.*,b.*FROMluntanLEFTJOINusertableasbONa.username=b.username右外连接:Selecta.*,b.*FROMluntanRIGHTJOINusertableasbONa.username=b.username全外连接:Selecta.*,b.*FROMcityasaFULLOUTERJOINuserasbONa.username=b.username交叉连接详解:交叉连接不带Where子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等于6*8=48行。Selecttype,pub_nameFROMtitlesCROSSJOINpublishersORDERBYtype外部连接分为左外部连接(LeftOuterJoin)和右外部连接(RightOuterJoin)两种。以主表所在的方向区分外部连接,主表在左边,则称为左外部连接,主表在右边,则称为右外部连接。假设有两个表a和b,它们的结构相同(一个id列),但是数据不一定相同,现要求查找,存在于表a中,而不存在于表b中的记录:方法一: