SQL数据库指令--SELECT 语句

SQL数据库指令--SELECT 语句 

企业微信截图_16337484171205.png

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

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

句式:SELECT 字段 FROM 表 WHERE 条件

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

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

  customer_id first_name

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

1736899988.jpg

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

请关注微信公众号

45d27776-5d6e-4b88-b547-08ec976015eb.jpg

注意:

模式匹配符查找:

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”、……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老王工控笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值