博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql总结
阅读量:7058 次
发布时间:2019-06-28

本文共 1866 字,大约阅读时间需要 6 分钟。

一.where后面可接的查询条件:

1)sql in查询,查询在符合条件list里的数据,list可以是(select子查询)

2)sql not in查询,不再符合条件list里的数据

3)like模糊查询:通配符%代表一个或多个通配字符。_代表通配一个字符。

 但like模糊查询,只能指定具体字符,指定明确的string值,不能匹配变量字段做模糊参数,如果 需要用字段变量做模糊匹配,就要用到concat()函数

4)like+concat('%',name):字段变量值作为模糊参数查询

5)字段=等号查询,not 字段=等号查询,或者字段<>值,也代表不等于.

列出非软件专业的所有学生的学号及名字。

select sid,name 

from student 

where 专业<>"软件专业"

select sid,name 

from student 

where not 专业="软件专业"

6)区间查询between x and y

7)and连接多个条件。

:列出1号课成绩大于80分的学生的学号及成绩

具体值:一号课,>80分

select sid,score 

from score 

where courseID = "1号课" and score >“80”

 

二.sql语句书写经验

1.需求里描述“每个”,"所有"等信息时,基本 都要用group by分组了。如;列出每个用户的存款余额,列出各机构的每日交易额。列出各个课程的平均分。

:列出各科成绩的最高分,最低分,平均分,和选课人数

select courseID,max(score) as "最高分",min(score) as "最低分",avg(score) as "平均分",count(distinct(surdentID)) as "总人数"

from score_tbl

group by courseID

2.distinct也是函数,用法是distinct(字段),必须用括号包起来字段

3.from后面也可以加select子查询,因为每个子查询的结果也是一张表,只是临时表而已。

4.只要需求里有具体变量值出现了,那么就要在sql语句里匹配具体值信息,如:如工资多于2300元的员工需要向北京发货。salary > 2300 and  地址=‘北京’

5.inner join内连接可以省略inner书写的,直接a join b就代表内连接

6.表连接,join的on条件是写在from从句里的,而不是where从句。如select name from tableA a join tableB b on a.id=b.id

7.使用数据库函数时,尽量用别名as命名,注意是需要as关键字的。如:select sid as "学号",avg(score) as "平均分" from score_t group by sid

8.having条件只用来修饰group by的结果,没有group by是不能用having的。

having与where的区别是having可以对接数学函数avg().count(),max()等。而where是不能的。

9.from后面是可以接一个查询么?:可以的,sql查询出来的就是一张表,而from就是从某张表里查数据。注意要用()将子查询包起来,便于查看

10.注意要用()将子查询包起来,便于查看。

select * from (select * from table_a a where a.name="David") temp left join tableB b on temp.id = b.id;

(temp也是一张表,临时表也可以起别名)

11.temp也是一张表,临时表也可以起别名

三.表连接

1.自然连接:自然连接是通过where指定外键连接字段,只显示符合条件的所有记录。自然连接只显示符合条件的所有记录。

2.内连接:内连接,可以省略写inner join的inner,直接写a join b就代表内连接。内连接也是只显示符合条件的所有记录。

3.左外连接

4.右外连接

 

四.如何提高数据库的运行效率?

1.降低范式,增加冗余。适当增加冗余课题提高查询的效率,但写的效率也降低了。因为多次写了。

2.适当使用存储过程,存储过程只需要编译一次,后面在数据库里可多次运行。降低数据库的编译

3.将一些复杂运算,在应用里做。减少数据的运算压力

4.引入分表:水平分表或垂直分表

转载地址:http://plyll.baihongyu.com/

你可能感兴趣的文章
深入探索 Kdump
查看>>
three.js 坐标系、camera位置属性、点、线、面
查看>>
kubernetes1.9安装dashboard,以及token认证问题
查看>>
linux tcpdump
查看>>
ASP.NET (Web) + C#算法 | 生成随机数字序列(随机数字+每个数字取随机不重复的位置和颜色)...
查看>>
理解神经网络:从神经元到RNN、CNN、深度学习
查看>>
我国第一部太赫兹视频合成孔径雷达成功研制
查看>>
外卖新零售品牌佐大狮完成数千万元天使轮融资,高榕资本领投
查看>>
GrooveX研发情感治愈机器人lovot,可与人类完成亲密互动
查看>>
使用kubeadm安装k8s-1.11版本
查看>>
美联邦调查局 FBI 网站被黑,数千特工信息泄露
查看>>
超燃!Apache Flink 全球顶级盛会强势来袭
查看>>
约你一起来写作
查看>>
修改arcgis infowindow 放大和缩小的模板
查看>>
ASP.NET 2.0+Atlas编写鼠标拖放程序(2)
查看>>
JavaScript返回上一页代码区别
查看>>
EntityFramework 如何进行异步化(关键词:async·await·SaveChangesAsync·ToListAsync)
查看>>
百度编辑器ueditor每次编辑后多一个空行的解决办法
查看>>
C#扇形的绘制与Hittest交互、图种制作
查看>>
【MVC 4】5.SportsSore —— 一个真实的应用程序
查看>>