SQL循序渐进(3)数据检索

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

数据检索

SQL中SELECT语句通常用于检索数据库,或者检索满足你设定条件的数据,以下是简单的SELECT语句的格式:

select "column1"[,"column2",etc] from "tablename"

[where "condition"];

[] = optional

其中列的名字跟着SELECT关键字,它决定了哪一列将被作为结果返回。你可以任意指定多个列,或者你可以使用"*"来选择所有的列。

表的名字是紧跟着FROM关键字的,它指出了哪个表格将作为最后结果被查询。

而WHERE子句(可选)指出哪个数据或者行将被返回或者显示,它是根据关键字WHERE后面描述的条件而来的。

在WHERE子句中可以有以下的条件选择:

= 等于

> 大于

< 小于

>= 大于等于

<= 小于等于

<> 不等于

LIKE 参见以下注释

注释:LIKE 模式匹配操作符同样可以使用在WHERE子句的条件条件中。LIKE是一个功能强大的操作符,它可以让你选择你"喜欢"指定的行。百分号"%" 可以被用来匹配任何可能的字符,它可以出现在指定字符的前面或者后面,例如:

select first, last, city

from empinfo

where first LIKE 'Er%';

以上这条SQL语句将会匹配任何名字以'Er'开始的名字,这里必须使用单引号。

或者你也可以使用"%"在字符的前面,例如:

select first, last

from empinfo

where last LIKE '%s';

这条SQL语句将会匹配任何名字以's'结尾的名字。这个"%"的作用就跟DOS命令的"*"号很相似。

select * from empinfo

where first = 'Eric';

以上的SQL语句只选择first名字为'Eric'的行。

这里有一个名为"empinfo"的表:

first

last

id

age

city

province

Zhang

Jiangsheng

95123043

23

汕头

广东

Huang

Weidong

98122001

23

深圳

广东

Li

Simin

98111234

34

珠海

广东

Zhang

Sanmei

99232211

26

厦门

福建

Jiang

Dongsheng

98000190

28

重庆

四川

Liu

Tongxin

97231231

31

海南

海南

下面我们使用SELECT语句来进行一些检索:

首先你可以从empinfo中检索出列为first、last、city的数据,语句如下:

select first, last, city from empinfo;

这时候你将来得到以下的数据:


first

last

id

Zhang

Jiangsheng

95123043

Huang

Weidong

98122001

Li

Simin

98111234

Zhang

Sanmei

99232211

Jiang

Dongsheng

98000190

Liu

Tongxin

97231231

如果你使用以下语句:

select last, city, age from empinfo

where age > 30;

那就检索到以下的数据:

last

city

age

Simin

汕头

34

Tongxin

海南

31

若是使用:

select first, last, city, province from empinfo

where first LIKE 'J%';

将得到以下的数据:

first

last

city

Province

Jiang

Dongsheng

重庆

四川



你如果想列出所有的数据,可以使用以下的语句:

select * from empinfo;

这时候检索到的数据为:

first

last

id

age

city

province

Zhang

Jiangsheng

95123043

23

汕头


广东

Huang

Weidong

98122001

23

深圳

广东

Li

Simin

98111234

34

珠海

广东

Zhang

Sanmei

99232211

26

厦门

福建

Jiang

Dongsheng

98000190

28

重庆

四川

Liu

Tongxin

97231231

31

海南

海南

如果你想查询first和last列中last的最后字符为'g'的数据,你可以使用:

select first, last, from empinfo

where last LIKE '%g';

此时查询到的数据有:

first

last

Zhang

Jiangsheng

Huang

Weidong

Jiang

Dongsheng

你还可以这样来从first、last和age列中来查询last中间有'sh'字符的数据:

select first, last, age from empinfo

where last LIKE '%sh%';

结果为:

first

last

age

Zhang

Jiangsheng

23

Jiang

Dongsheng

28

最后,你还可以查询first为'Jiang'的数据:

select * from empinfo where first = 'Jiang';

结果为:

first

last

id

age

city

province

Jiang

Dongsheng

98000190

28

重庆

四川

好吧,为了让你对本节教程能更好的掌握,下面给你几个练习巩固巩固:

1 显示first和age列的每一个表中数据

2 显示first、last和city列中除了first=Jiang的所有表中的数据。

3 显示所有age大于30的列的数据。

4 显示first和last列中last是以"g"结尾的数据。

5 显示所有first为"Zhang"的列

千万不要认为这些很简单而不作练习。因此这些都是基础,打好基础对于以后的学习是有帮助的。



<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值