SQL DML-数据查询

谁践踏了优雅 2022-08-01 14:50 292阅读 0赞
  1. SQL DML,数据操纵语言,分成数据查询和数据更新两类。而数据更新分为插入、删除和修改三种操作。
  2. SQL DDL是对表结构的构建操作,SQL DML是对已经构建好的表结构内增加数据的操作。对于整个数据库来说,前者是框架,后者是内容。
  3. 先来看查询:
  4. select语句基本句法: select<属性>
  5. from<关系>
  6. where<条件表达式>
  7. where子句的条件表达式中的运算符:
  8. 算术比较运算符:<,<=,>,>=,=,<>或!=
  9. 逻辑运算符:and,or,not
  10. 集合成员资格运算符:in,not in
  11. 谓词:exists(存在量词),all,some,unique
  12. 聚合函数:avg(平均值),min(最小值),max(最大值),sum(和),count(计数)
  13. 另一个select子句:select子句嵌套
  14. select子句的查询结果可以进行集合的并、交、差操作。
  15. 集合运算符:union(并),intersect(交),except(差)
  16. 关键是where子句中条件表达式可以很复杂,因此select句型能表达所有的关系代数表达式。

select语句三种写法:连接查询、嵌套查询、带存在量词的嵌套查询

  1. 1、连接查询:select s.s\#,sname
  2. from s,sc
  3. where s.s\#=sc.s\# and c\#='c2'
  4. 先对from后的基本表ssc做笛卡尔积操作,然后再做等值连接、选择和投影等操作。
  5. 2、嵌套查询:select s\#,sname
  6. from s
  7. where s\# in(select s\#
  8. from sc
  9. where c\#='c2' )
  10. 嵌套的子查询先执行,然后执行外层查询。
  11. 查询涉及多个基本表时用嵌套结构逐次求解层次分明,具有结构程序设计特点。
  12. 嵌套查询的执行效率比连接查询的笛卡尔积效率高。
  13. 在嵌套查询中,in是常用谓词,结构“元组in(集合)”,表示元组在集合内。
  14. select s\#,sname
  15. from s
  16. where 'c2' in(select c\#
  17. from sc
  18. where s\#=s.s\# )
  19. 3、使用存在量词的嵌套查询:select s\#,sname
  20. from s
  21. where exists(select \*
  22. from sc
  23. where sc.s\#=s.s\# and c\#='c2' )
  24. 谓词exists表示存在量词符号,语义是内层查询的结果应该为非空(至少存在一个元组)。
  25. select语句完整句法:select<目标表的列名或列表达式序列>
  26. from<基本表名和(或)视图序列>
  27. \[where<行条件表达式>\]
  28. \[group by<列名序列>\]
  29. \[having<组条件表达式>\]
  30. \[order by<列名\[asc|desc\]>,...\]
  31. 1)读取from子句中基本表、视图的数据,执行笛卡尔积操作
  32. 2)选取满足where子句中给出的条件表达式的元组
  33. 3)按group子句中指定列的值分组,同时提取满足having子句中组条件表达式的那些组
  34. 4)按select子句中给出的列名或列表达式求值输出
  35. 5order子句对输出的目标表进行排序,按附加说明asc升序排列,或按desc降序排列。
  36. select子句中,where子句称为“行条件子句”,group子句称为“分组子句”,having子句称为“组条件子句”,order子句称为“排序子句”。
  37. 与查询有关的,DDL中创建的索引、视图等,其功能仅限于查询时起作用。

发表评论

表情:
评论列表 (有 0 条评论,292人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SQL DML-数据查询

            SQL DML,数据操纵语言,分成数据查询和数据更新两类。而数据更新分为插入、删除和修改三种操作。         SQL DDL是对表结构的构建操作,SQL

    相关 SQL DML 和 DDL

    可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入