查询

作者: 傻驠儿 | 来源:发表于2019-04-14 16:05 被阅读0次

    连接查询  

    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子句返回假值

    相关文章

      网友评论

          本文标题:查询

          本文链接:https://www.haomeiwen.com/subject/hqzxwqtx.html