VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > SQL教程 >
  • 2-SELECT 查询 saulGoodman saulGoodman Grey Hat Hacker | Red Teaming ​关注 2 人赞同了该文章

3-WHERE 条件查询(上)

条件查询

真实情况下,我们很少直接查所有行,即使查询出来也看不完。为了更精确的查询出特定数据,我们需要学习一个新的SQL语法:SELECT查询的WHERE子句. 一个查询的WHERE子句用来描述哪些行应该进入结果,具体就是通过 condition条件 限定这些行的属性满足某些具体条件。比如:WHERE体重大于 10KG的狗。你可以把WHERE 想象成一个 筛子,每一个特定的筛子都可以筛下某些豆子。

条件查询语法
SELECT column, another_column, 
FROM mytable
WHERE condition
    AND/OR another_condition
    AND/OR ;

注:这里的 condition 都是描述属性列的,具体会在下面的表格体现。

可以用ANDorOR这两个关键字来组装多个条件(表示并且,或者) (ie. num_wheels >= 4 AND doors <= 2 这个组合表示 num_wheels属性 大于等于 4 并且 doors 属性小于等于 2). 下面的具体语法规则,可以用来筛选数字属性列(包括 整数,浮点数) :

越是精确的条件筛选,会让结果更容易理解,同时因为条件在返回之前筛掉不必要的结果,SQL的运行速度也会快很多(想象一下你只是想看下最近有哪些大片上映,你没必要下载整个电影看一遍)

小贴士:
虽然之前我们的SQL 关键之如 SELECT, WHERE, AND,OR 都是大写的,但SQL其实是兼容写成 select,where小写的. 
大写这些关键字有助于我们把 关键字 和 你的表名,列名区分开,让 SQL更容易理解。

练习

找到id为6的电影

select * from Movies where id = 6;

注释:
	select * 		查找所有的列(column),* 代表是ALL(所有)
        from Movies		从Movies表找
        where id = 6		条件语句where,条件是 id 为 6 的值	

找到2000-2010年间Year上映的电影

select * from Movies where Year BETWEEN 2000 AND 2010;

注释:
	select *					查找所有的列(column)
        from Movies					从Movies这个表里寻找
        where Year BETWEEN 2000 AND 2010;		where条件是,Year 这个字段是从 2000 到 2010 之间的值

条件 where 语法

找到不是在2000-2010年间Year上映的电影

select * from Movies where Year NOT BETWEEN 2000 AND 2010;

注释:
	where Year NOT BETWEEN 2000 AND 2010;	where条件语句查询Year字段中,不在 2000 和 2010的内容

找到头五部电影

select * from Movies where id <=5;

注释:
	where id <=5;	where条件语句查询id小于等于5的内容

查找含2010之后的电影片场小于两小时的电影名

select * from Movies where Year >=2010 AND Length_minutes < 120;

注释:
	where Year >=2010 AND Length_minutes < 120		这段语句的条件是前后都满足
        where Year >=2010					where条件语句是找Year大于等于2010的
        AND Length_minutes < 120				AND是并且的意思,并且Length_minutes要小于120(因为120分钟是2小时)

找到1999年和2009年的电影,只要列出年份和片长

select Year,Length_minutes from Movies where Year IN(1999,2009);

注释:
	select Year,Length_minutes		查找字段为Year,Length_minutes的内容
        from Movies				从Movies这个表里寻找
        where Year IN(1999,2009);		where条件是Year(columns)在1999和2009的电影,IN代表在什么里,语法是:column IN (num1, num2, num3)

本章学习了:SQL语法的WHERE查询语句(上)!



相关教程