将多个查询关键词的向量进行合并 python sql查询多个关键字_异质性查询需要为连线设定


SQL简单查询学习大纲


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_02


一、基本的查询语句

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_03


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_异质性查询需要为连线设定_04


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

查询全部列(*)

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_05


为列设定别名(as)

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_数据_06


删除重复数据(distinct)

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_07


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_linqto 多个关键字模糊查询_08


SQL书写规则


将多个查询关键词的向量进行合并 python sql查询多个关键字_数据_09


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

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

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

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

运行按钮

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

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_异质性查询需要为连线设定_10


二、指定查询条件

查询条件

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_数据_11


SQL运行顺序

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

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

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

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_12


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

注释

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_13


SQL语句注意事项

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

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_数据_14


四、运算符

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

算术运算符

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_15


  • 案例如下图


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_16


比较运算符

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_数据_17


  • 案例如下图


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_18


将多个查询关键词的向量进行合并 python sql查询多个关键字_linqto 多个关键字模糊查询_19


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_数据_20


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_21


逻辑运算符

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_异质性查询需要为连线设定_22


not——否定某一条件


将多个查询关键词的向量进行合并 python sql查询多个关键字_异质性查询需要为连线设定_23


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_异质性查询需要为连线设定_24


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_25


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_26


  • 案例如下图


将多个查询关键词的向量进行合并 python sql查询多个关键字_linqto 多个关键字模糊查询_27


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_28


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_29


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_数据_30


  • 案例如下图


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_31


in——or的简单写法

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_32


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


将多个查询关键词的向量进行合并 python sql查询多个关键字_linqto 多个关键字模糊查询_33


五、字符串模糊查询

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

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


将多个查询关键词的向量进行合并 python sql查询多个关键字_SQL_34


%表示查找任意字符串


将多个查询关键词的向量进行合并 python sql查询多个关键字_linqto 多个关键字模糊查询_35


_表示任意一个字符


将多个查询关键词的向量进行合并 python sql查询多个关键字_英文单引号和sql冲突_36


六、总结


将多个查询关键词的向量进行合并 python sql查询多个关键字_异质性查询需要为连线设定_37


七、练习