请选择 进入手机版 | 继续访问电脑版

SQL 常用语句辨析

[复制链接]
滚雪球少年 发表于 2020-12-31 18:59:31 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
1.建库

在学习过程中使用的数据库的根本数据,在这里略去建库过程。
在建库时,由于某种不知名原因,不能从excel中直接导入数据。经搜索,发现可以使用以下语句。
  1. bulk insert test from 'f:\test.txt' with (fieldterminator=',', rowterminator='\n')
复制代码
其中,先将表格从excel中导出成txt,以‘,’为分隔符。
再在SQL中查询中使用以上语句即可。






2.数据库查询下令

  1. SELECT [DISTINCT] 列名|表达式序列 --投影FROM 表|视图                      --关系[WHERE 行条件表达式]              --元祖选择[              --分组 [HAVING 组条件表达式]]           --分组选择[ORDER BY 列名[ASC|DESC],...]     --排序
复制代码
整个语句的执行过程
FROM-> WHERE -> GROUP ->HAVING ->SELECT ->ORDER
2.1单表查询

2.1.1选中若干列

  1. --查询指定列select S.xh,S.xm from S--查询全部列select * from S--查询颠末盘算的值select E.xh,E.xq,E.kh,E.pscj*0.5+E.kscj*0.5 as 总评效果 from E
复制代码

2.1.2 选中若干行

  1. --消除取值重复的行 distinctselect * from Oselect distinct O.xq,O.kh from Oselect distinct O.kh,O.gh from O
复制代码
注意distinc是根据我们所选中的列名举行去重的。

  1. --查询满意条件的元组        -->,=,60        --确定范围select E.xh,E.zpcj from Ewhere E.zpcj between 80 and 90        --确定集合select E.xh,E.zpcj from Ewhere E.xh in(1101,1102)        --查询满意条件的元组                --字符匹配select S.xh,S.xm from Swhere S.xh like '11%'select S.xh,S.xm from Swhere S.xh like '110_'                --涉及空值的查询select E.xh,E.kh,E.zpcj from Ewhere E.zpcj is NULL
复制代码

在这里我们说明一下关于比较巨细(>,和inselect E.xh,E.kh,E.zpcj from Ewhere E.zpcj >85select E.xh,E.kh,E.zpcj from Ewhere E.zpcj in(select E.zpcj from E where E.zpcj>85)[/code] 在使用时要注意二者的区别。一个是集合,一个是比较。
关于in,还要区分它和exists之间的区别。
2.2 多表查询

2.2.1联接操纵

2.2.1.1 内联接

  1. --内联接select S.xh,S.xm,E.kh,E.zpcj from Sjoin E on S.xh=E.xh        --左毗连select S.xh,S.xm,E.kh,E.zpcj from Sleft join E on S.xh=E.xh
复制代码


  • 关于内联接
    也称为等值毗连,返回两张表都满意条件的部分

  • 左(右)联接
    取左边的表的全部,右边的表按条件,符合的显示,不符合则显示null
    雷同的右联接
    举例:select from A left join B on A.id=B.id

    我们可以明白为从左表按行去与右表匹配,满意on中条件的就留下。
    在左毗连是若是左表存在重复项的话,最后的数据也会相应的出现重复。这就需要使用一个唯一确定某一行的条件作用于左表。
2.2.1.2自身联接

查询选了8305002和8305003课的学生的学号
  1. --自身联接select X.xh,X.kh,X.zpcj from E as X join E as Y on X.xh=Y.xhwhere X.kh=8305002 and Y.kh=8305003
复制代码
2.2.1.3 复合条件联接

查询盘算机学院总评效果小于70的学生
  1. --复合条件联接select S.xh,S.xm,S.yxh,E.kh,E.zpcj from Sjoin E on E.xh=S.xh and E.zpcj(select csrq from S where xh=1101)
复制代码



  • 带有谓词ANY和ALL的比较子查询
  • 带有存在量词(EXISTS)的子查询
2.2.3 全称量词

2.2.4 聚合函数

2.2.5 分组

2.2.6 排序

2.2.7 集合查询

2.3 数据更新

2.4 视图的创建和打消


来源:https://blog.csdn.net/Carrie_colourful/article/details/111952807
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )