查询

连接查询  

1.等值连接  连接符号为=   出现的列成为连接字段

2.非等值连接  非=

3.交叉连接 (非限制连接) 不带连接谓词的连接。是两个表中元组的交叉乘积。一般用来测试数据。select sno,cno from student,course;

4.自身连接   起别名,可以给同一个表起不同的名字,将一个表看作两个表

select a.*,b.* from student a,sc b  where a.sno=b.sno;

5.外连接  包括左外连接 left outer join、右外连接 right outer join、全外连接full outer join

左外连接  左边为主表 该表中的记录全部会显示,即使右边没有相关记录

select student.*,sc.* from student left join sc on student.sno=sc.sno;

6.复合条件连接  在where子句中有多个条件的查询方式。

7.字符串条件查询  把列用字符连起来并进行运算。

子查询

由内到外查询,其中不包含order by子句(order by只对查询的最终结果排序)

分类

相关子查询  子查询的查询条件依赖外层父查询的某个属性值,反之为不相关子查询。

单一行子查询  子查询返回的结果值的数目为一个值,否者为多行子查询。p80--84

量词 exists  not exists

exists 内层查询结果非空,where子句返回真值(前面没有列名、常量或其他表达式,只是为了测试是否存在符合子查询中指定条件的行,不必列出列名)

select sname from stuednt where exists(select * from sc where sno=student.sno and cno='001');

not exists 内层查询结果非空,where子句返回假值

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 介绍多表查询等复杂SQL语句。 关系数据库的查询结果都是一个结果表(也是关系) 集聚函数 基本语法 统计元组个数C...
    zealscott阅读 910评论 0 0
  • 单表查询 只在一个表中查询数据 多表查询 同时查询多个表 说明:这是在学生表student和成绩表SC中查询成绩大...
    爱撒谎的男孩阅读 1,264评论 0 2
  • 测试数据 course.txt1,数据库2,数学3,信息系统4,操作系统5,数据结构6,数据处理 sc.txt95...
    大数据技术进阶阅读 4,295评论 0 1
  • 数据查询 查询表中的若干列SELECT Sno,SnameFROM Student;#查询所有列SELECT *F...
    棕色试剂瓶阅读 594评论 0 0
  • 趁着周末,一口气把 摆渡人的这本小说读完了,以前就听说过,但是一直都没有时间看,看完以后,心里有说不出的感觉,迪伦...
    一茶一米阅读 279评论 0 1

友情链接更多精彩内容