暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL Lesson 1:SELECT 查询 &条件查询

1628
1. SELECT语句

    通常又称为查询,SELECT可以用来从数据库中取出数据. 一条 SELECT 语句或者叫一个查询, 可以描述我们要从什么表取数据, 要取哪些数据,在返回之前怎么对结果做一些转化计算等等. 

 2.最常见的查询

    取出表中的一个或某几个属性列(注意:是所有数据的某几个属性列)

    SELECT column(列名), another_column, …
    FROM table(表名)
        如果我们想取出所有列的数据,可以把所有列名写上,不过更简单的方式用星号 (*) 来代表所有列如下:
      SELECT *
      FROM table(表名)
          真实情况下,我们很少直接查所有行。为了更精确的查询出特定数据,我们需要学习一个新的SQL语法:SELECT查询的 WHERE 子句. 一个查询的 WHERE子句用来描述哪些行应该进入结果,具体就是通过 condition条件 限定这些行的属性满足某些具体条件。可以用 AND or OR 这两个关键字来组装多个条件。
        条件查询语法
        SELECT column, another_column, …
        FROM mytable
        WHERE condition
        AND/OR another_condition
            AND/OR …
            下面的具体语法规则,可以用来筛选数字属性列(包括 整数,浮点数)大写这些关键字有助于我们把 关键字 和 你的表名,列名区分开,让 SQL更容易理解。
        Operator Condition SQL Example
        =, !=, < <=, >, >=大于,等于等比较col_name != 4
        BETWEEN … AND …在两个数之间col_name BETWEEN 1.5 AND 10.5
        NOT BETWEEN … AND …不在两个数之间col_name NOT BETWEEN 1 AND 10
        IN (…)在一个列表col_name IN (2, 4, 6)
        NOT IN (…)

        不在一个列表

        col_name NOT IN (1, 3, 5)

            WHERE 语句来筛选字符串类型的属性, 我们会用到字符串相关的一些操作符号,其中 LIKE(模糊查询) 和 %(通配符) 是新增的两个. 下面这个表格对字符串操作符有详细的描述:

        =完全等于col_name = "abc"
        != or <>不等于col_name != "abcd"
        LIKE没有用通配符等价于 =col_name LIKE "ABC"
        NOT LIKE没有用通配符等价于 !=col_name NOT LIKE "ABCD"
        % 通配符,代表匹配0个以上的字符col_name LIKE "%AT%"
        "%AT%" 代表AT 前后可以有任意字符
        _ 和% 相似,代表1个字符col_name LIKE "AN_"
        (matches "AND", but not "AN")
        IN (…)在列表col_name IN ("A", "B", "C")
        NOT IN (…)不在列表col_name NOT IN ("D", "E", "F")

        3.举例(Table(表):Movies)

        (1)找到所有电影的所有信息
          SELECT * FROM movies

          运行结果:

          (2)找到所有电影的名称,Id和播放时长

            SELECT Title FROM movies

            运行结果:

            (3)找到Id为6的电影

              SELECT * FROM movies WHERE Id=6

              运行结果:

              (4)找到在2000-2010年间上映的电影

                SELECT * FROM movies WHERE Year BETWEEN 2000 AND 2010

                运行结果:

                (5)找到不是在2000-2010年间上映的电影

                  SELECT * FROM movies WHERE Year NOT BETWEEN 2000 AND 2010

                  运行结果:

                  (6)找到头5部电影

                    SELECT * FROM movies WHERE Id<6

                    运行结果:

                    (7)找到2010(含)年之后的电影里片长小于两个小时的片子

                      SELECT * FROM movies WHERE Year>=2010 AND Length_minutes<120

                      运行结果:

                      (8)找到所有Toy Story系列电影

                        SELECT * FROM movies WHERE Title LIKE "%Toy Story%"

                        运行结果:

                        (9)找到所有John Lasseter导演的电影 

                          SELECT * FROM movies where Director ='John Lasseter'

                          运行结果:

                          (10)找到所有电影名为 “WALL-” 开头的电影

                            SELECT * FROM movies where Title LIKE 'WALL-%'

                            运行结果:

                            (11)找一部98年电影中文名《虫虫危机》

                              SELECT * FROM movies where Title = "A Bug's Life"

                              运行结果:


                              SQL Lesson 0:简介

                              关注小路不迷路,佛系更新哦~~~




                              文章转载自小路SQL学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                              评论