日记大全

日记大全 > 句子大全

SQL数据库指令——SELECT(语句)

句子大全 2023-05-02 03:42:01
相关推荐

SQL数据库指令--SELECT 语句

SELECT 语句用来检索数据表中的数据,而哪些数据被检索,是由列出的数据行和语句中的 WHERE 子句决定。

(SQL指令不区分大小写,SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。)

句式:SELECT 字段 FROM 表 WHERE 条件

例如,要从之前建立的 Customer_Data数据表中检索 customer_id 以及 first_name 数据行的数据,并且只想取出每行中 first_name 数据值为 Frankie 的数据,那麼可以利用以下的 SELECT 语句:

SELECT customer_id, first_name FROM Customer_DataWHERE first_name = ‘Frankie’如果有一行符合 SELECT 语句中的标准,则结果将显示如下:

customer_id first_name

以上是WHERE 后带比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!<

Where后面还可以加:

①范围运算符(表达式值是否在指定的范围):BETWEEN…AND…

NOT BETWEEN…AND…

--示例:范围运算符例:age BETWEEN 10 AND 30相当于age>=10 AND age<=30

②列表运算符(判断表达式是否为列表中的指定项):

IN (项1,项2……)

NOT IN (项1,项2……)

--示例:列表运算符例:country IN ("Germany","China")

③模式匹配符(判断值是否与指定的字符通配格式相符):LIKE、NOT LIKE

--示例:模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。可使用以下通配字符:

百分号%:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即%%。下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。方括号[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。[^]:其取值也[] 相同,但它要求所匹配对象为指定字符以外的任一个字符。例如:限制以Publishing结尾,使用LIKE "%Publishing"限制以A开头:LIKE "[A]%"限制以A开头外:LIKE "[^A]%"

④空值判断符(判断表达式是否为空):

IS NULL、IS NOT NULL

--示例:空值判断符例WHERE age IS NULL

⑤逻辑运算符(用于多条件的逻辑连接):

NOT、AND、OR

--示例:逻辑运算符:优先级为NOT、AND、OR

注意:

模式匹配符查找:

1.句式:SELECT 字段 FROM 表 WHERE 某字段 Like 条件

(有些情况下若是中文,要使用两个百分号(%%)表示)

比如 SELECT * FROM [user] WHERE u_name LIKE "%三%" ,将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

如:SELECT * FROM [user] WHERE u_name LIKE "%三%" AND u_name LIKE "%猫%"就会把即符合三又有猫的记录找出来

2,句式:SELECT * FROM 表 WHERE 行字段 LIKE "_三_"(只显示中间为汉子三的数据)

_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句: 比如 SELECT * FROM [user] WHERE u_name LIKE "_三_" 只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的; 再比如 SELECT * FROM [user] WHERE u_name LIKE "三__"; 只找出“三脚猫”这样name为三个字且第一个字是“三”的。

3,[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。 比如 SELECT * FROM [user] WHERE u_name LIKE "[张李王]三" 将找出“张三”、“李三”、“王三”(而不是“张李王三”); 如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e” SELECT * FROM [user] WHERE u_name LIKE "老[1-9]" ,将找出“老1”、“老2”、……、“老9”。

4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。 比如 SELECT * FROM [user] WHERE u_name LIKE "[^张李王]三" 将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等; SELECT * FROM [user] WHERE u_name LIKE "老[^1-4]";将排除“老1”到“老4”,寻找“老5”、“老6”、……

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新