codecademy SQL lesson2

①在lesson1中学到每次希望从database中查询数据时都会使用SELECT,这次会介绍SELECT可以一次查询多列数据,列名用逗号分隔:

SELECT name, imdb_rating FROM movies;

②SELECT  DISTINCT  column_name  FROM   table_name;
SELECT DISTINCI在result set(SELECT返回的新表)中返回所有出现过的值,滤除重复出现的值,每个值只写一次;

SELECT DISTINCT genre  FROM movies;

SELECT DISTINCT从句表明这条语句将要查询指定列中所有出现过的值,genre是列名,代表电影类型,movies是表名,查询结果为action,comedy,horror,romance,drama


③SELECT column_name(s)  FROM  table_name  WHERE  column_name  operator  value;

SELECT * FROM movies
WHERE imdb_rating > 8;

这条语句过滤出imdb评分大于8的电影信息,WHERE从句表明你只想保留result set中后面条件为真的行,imdb_rating>8就是这里的条件,结果只保留imdb_rating列中的值大于8的行,>是条件运算符,结果非true即false,WHERE常用的运算符有=,!=,>,<,>=,<=。


SELECT * FROM movies
WHERE name LIKE 'Se_en';

LIKE是一个有用的运算符,当你想比较近似的值时,LIKE是WHERE从句中的一个特殊运算符,用于在一列中查找一种指定模式。name LIKE ‘Se_en’是一个对name列计算模式'Se_en'得到的条件表达式,‘Se_en’是含有一个通配符的模式,'_'意味着可以用任何单一字符替换该位置。


SELECT * FROM movies WHERE name LIKE 'A%';
这条语句过滤result set,只留下电影名以A开头的电影记录。%是一个通配符,可以匹配模式中零到多个省略的字符,A%匹配所有以A开头的名字,%a匹配所有以a结尾的名字。

SELECT * FROM movies WHERE name LIKE '%man%';
可以在一个模式的开头和结尾都是添加%,这条语句中,所有名字中包含‘’‘man’‘’的记录都将返回到result set,并且LIKE对大小写不敏感,“Man”也可以匹配。


SELECT * FROM movies
WHERE name BETWEEN 'A' AND 'J';
BETWEEN运算符用于在一个特定范围内过滤result set,值可以是数字,文本或者日期。这个语句过滤result set只保留名字以‘A’到但不包括'J'开头的电影记录。

SELECT * FROM movies WHERE year BETWEEN 1990 AND 2000;

有时你想要在where从句中组合多个条件,使用AND运算符,and连接两个条件,两个条件必须都为真的行才能保留在result set中。

 SELECT * FROM movies
 WHERE year BETWEEN 1990 and 2000
 AND genre = 'comedy';


OR运算符也可以在where中用来结合条件,OR单独计算各个条件,只要有一个条件为真,则这行就加入result set.
  SELECT * FROM movies
  WHERE genre = 'comedy'
  OR year < 1980;

SELECT column_name  FROM table_name  ORDER BY column_name ASC| DESC;

SELECT * FROM movies
ORDER BY imdb_rating DESC;
可以使用order by给查询结果排序,ORDER BY从句通过某一个列的值,按字母或是数字顺序排列result set,imdb_rating是要排序的列名, DESC是SQL中的关键字,和ORDER BY配合使用,使结果按降序排列(大到小或Z到A),ASC按升序排列。

SELECT column_name(s)  FROM table_name  LIMIT number;

SELECT * FROM movies ORDER BY imdb_rating DESC LIMIT 3;
LIMIT从句指定了result set保留的最大行数,这条语句保留了imdb_rating最大的三行。



猜你喜欢

转载自blog.csdn.net/u011582611/article/details/60769455
今日推荐