linqto 多个关键字模糊查询_SQL简单查询—知识点梳理(二)

eb3263f142d7eafdd3a8048802ba3f5a.png

SQL简单查询学习大纲

3009c9fac0ef9cecea5f9e090ff84d7f.png

一、基本的查询语句

select语句是SQL中使用最多的语句。子句是SQL语句的组成要素,是以某个关键字作为开始的语句,最基本的select语句包含了select和from两个子句,select子句后接希望从表中查询出列的名称,from子句通过表名指定从哪个表中查找数据。

3d7f7e26d218f03d88014a897a612f0a.png

SQL查询语句在数据库里的运行原理:通过向数据库发送SQL查询语句,数据库里会运行SQL语句,最后将查询结果数据返回,如:

7d4baef956133d9dbde5aa7f985d6283.png

所有涉及SQL语句的“,”都必须是英文状态下输入的,否则会报错

查询全部列(*)

如果想查询出表里所有列,可用星号"*"代表

ac0e5d32adc7ea58ce16751533051067.png

为列设定别名(as)

SQL查询语句使用as为列设定别名,别名可以让select语句的执行结果更易理解和操作。如果列名是英文,为了更易理解可以使用as给列名起个中文名称。如果别名是中文,需要加上英文单引号。

cda14499451d41253f0a1e88a24f46a0.png

删除重复数据(distinct)

distinct用在一列前——select 后加distinct代表从查询结果中去除重复的行,并对重复值只保留一个。

6dc8a1ab52dc4e52cf9c1a23905e4176.png

distinct用在多列前——将多列数据进行组合,即数据在多列都相同时才算做重复数据。distinct只能放在第一个列名前,不能放在其他位置。

9a2cda1989ae452f313fef98f0c3cc9c.png

SQL书写规则

1db8f4d0303bf6314bce824bc4cfe30e.png

1. SQL语句逐条执行,一条SQL语句以分号";"结尾。

2. SQL语句不区分关键字的大小写。关键字是数据库事先定义好的、有特别含义的单词,在客户端里输入的关键字以蓝色高亮显示。表名和列名也不区分大小写,但是须注意,插入表中的数据需要区分大小写,如插入表中的“A”和“a”是两个不同的数据。

3. 列名不能加单引号,因为列名是有特殊含义的,不是字符串,所以不能加单引号;同时,在列名命名时不能有空格,如把列名“姓名”命名为“姓 名”,SQL无法区分。

4. 输入的符号只能使用英文符号,二者区别肉眼可见,中文符号比英文符号占用的空间更大。若出现报错首先可以检查符号是否为英文符号。

运行按钮

运行——把所有查询界面里所有的SQL语句都运行;

运行已选择的——先选中某一部分需要运行的SQL语句,再点击“运行已选择的”按钮,就只会只运行已选中的SQL语句

6fd6b514214860dad59ba6b430a4ddb6.png

二、指定查询条件

查询条件

查询语句通过where子句来指定查询条件,where子句就是查询条件的表达式。如想从下表中查询名字为“猴子”的同学的学号,可以用where子句指定条件,提取出“姓名”列中值为“猴子”的行。

6909870cfde807c04e2484ecb0d47ba3.png

SQL运行顺序

SQL子句的书写顺序与SQL的运行顺序不同(因为SQL子句的书写顺序已经固定不能随意更改):select子句最后运行,其他子句按书写顺序运行

第一步首先运行from子句,表示从哪张表中查找数据

第二步运行where子句,表示查询数据的条件是什么,然后查找符合条件的行

第三步运行select子句,表示从查询出的行中选取select子句指定的列

98f6e84bc29fe74b0698556f6136e5c5.png

三、注释和SQL语句注意事项

注释

      • 有助于读者更好的理解SQL语句,特别是在书写复杂SQL语句时。
      • 单行注释:英文状态下的两个短杠+空格
      • 多行注释:英文状态下的斜杠星号+星号斜杠

e06b5eb1428a40374362c25a04797eae.png

SQL语句注意事项

1. SQL语句用换行符或半角空格分隔关键词,但不能空一行(如下图中2)

2. 标点符号必须用英文符号(如下图中3)

3d877f86771459824a0a372c90376b76.png

四、运算符

三种运算符:算术运算符、比较运算符、逻辑运算符

算术运算符

即加减乘除。值得注意的是,所有含有空值的运算得到的结果依然是空值。

0593c49e85e476e699a413f4ba57761d.png
        • 案例如下图

4ef22c66efbe692578a15cbf3a925234.png

比较运算符

通过比较运算符可以得到筛选数据的条件表达式。符号的书写顺序和读符号的顺序一致。

4c98b3d1aa532f7c906a1d0f26b91215.png
        • 案例如下图

397575b81b913a009d7bb1cc26f8776b.png

595e512f6f4612dfde4e69b39febd390.png

字符串比较规则——字符串类型是按字典顺序进行排序,因此字符串类型的比较也是按字典顺序进行比较。如下图,虽然数字10大于数字2,但加了单引号属于字符串类型,按字典顺序'10'<'2'(因为字符串'10'是以1开头)。

8bc5c1cb3de6a6f34c42612f5bbfce3f.png

查询null值——用is null进行查找。反之,查询非null值可以用is not null。

337278396796a88e3256f2d627bb3233.png

逻辑运算符

运用逻辑运算符可以将多个查询条件进行组合。

b0cb2066cfb2e9ac2d4373aa6e555217.png

not——否定某一条件

a291a75c99aab6341e43e58208e29585.png

and——并且(文氏图是将事物关系通过更易理解的图形进行可视化)

4fdd0d959d9e3f325e34a0f6a035a9de.png

edf4133b80fab6280a33bfa4cf218e85.png

0c1465c7ceffafcda5781a3154f7b4bb.png
          • 案例如下图

af1f0e82c5982535fc8a4e3dcfb1b60c.png

括号里的or逻辑运算符优先于括号外的and逻辑运算符运行

9e2d42c387e0b632cfe1070a41bf42e6.png

between——查询范围。需要注意的是,between逻辑运算符会查找包括边界的两个阈值,即大于等于和小于等于。

a0cdb62c2896f71f00f330723b247abd.png

or——或者。只要or两边的条件有其中一个成立,则全部成立

613f574bae3d738a625e72a33349c4cd.png
          • 案例如下图

4668a18dd654d2eea0b9ea3182232af9.png

in——or的简单写法

where 姓名 in(''猴子,'马云') 代表筛选出in后面括号里值,即筛选出表student里姓名是猴子或者马云的记录

7bf5918d7d85d3a1d9b70a6eb1767e47.png

not in——表示不在in后面括号里的值,即查找姓名既不是猴子也不是马云的记录

bc84d706ddb83f4768a35f3769958178.png

五、字符串模糊查询

搜索引擎里通过输入关键词把相关的内容都查找出来,这就是模糊查询

SQL里使用关键词like表示字符串模糊查询

15bc83dd50b8ff5ea5d26159acd62fcb.png

%表示查找任意字符串

72109ea4de532b6312f70f012a1f02d0.png

_表示任意一个字符

ea33e03e289f51c823b771398f795f2a.png

六、总结

9de2d8194bc7f87e25a24b23eb4405ca.png

七、练习

Chestnut-J:SQL简单查询—练习(二)​zhuanlan.zhihu.com
e85fe64fdc0e64b1c3c383d675819bf2.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值