官术网_书友最值得收藏!

5.2 獲取想要的行

通過5.1節的介紹,我們已經知道了如何獲取我們想要的列,但是通過前面的方法獲取的是一整列數據,我們還可以根據需要獲取指定的行。

5.2.1 獲取全部行

如果只指定了要獲取哪些列,對行沒有指定,則默認獲取的是這些列的全部行。

5.2.2 獲取前幾行

有時候,我們可能只是想看一下某張表中各個字段的數據都是什么樣子的,這個時候我們就不需要獲取所有的行,因為每行的數據都差不多,所以我們只需要獲取前幾行就可以了。

1. Excel實現

只獲取前幾行,在Excel中實現起來比較簡單,直接拖動鼠標選中想要的行即可。

2. SQL實現

在SQL中,我們可以利用limit來對獲取的行數進行限制,比如,我們要獲取chapter5表中全部列的前5行,可以通過如下代碼實現:

select
   *
from
   demo.chapter5
limit 5

運行上面的代碼,就會把chapter5表中的前5行展示出來,具體運行結果如下表所示。

limit除了可以限制前幾行,還可以寫為limit x,y的形式,表示獲取第x行(不包括第x行)以后的y行數據。

select
   *
from
   demo.chapter5
limit 2,3

運行上面的代碼,可以獲取第2行(不包括第2行)以后的3行數據,具體運行結果如下表所示。

5.2.3 獲取滿足單一條件的行

有時候,我們不只是單純地想要獲取前幾行,而是想要獲取滿足特定條件的某些行,比如,獲取age列中等于18的所有行。

1. Excel實現

在Excel中,先給所有的列加上篩選框,然后要篩選哪一列就單擊那一列的下拉箭頭,接著選擇“數字篩選”選項,因為age列是數字,所以選擇“數字篩選”選項,如果要對文本列進行篩選,則會顯示“文本篩選”選項,比如name列和class列。選擇“數字篩選”選項以后,選擇指定的篩選條件,此處選擇“等于”,并勾選“18”復選框。

2. SQL實現

在SQL中,我們可以利用where來指定具體的條件,把具體的條件放在where后面即可。比如,我們要獲取chapter5表中age列等于18對應的行,可以通過如下代碼實現:

select
   *
from
   demo.chapter5
where age = 18

運行上面的代碼,就可以獲取到age列等于18的行,具體運行結果如下表所示。

5.2.4 獲取滿足多個條件的行

有時候,一個條件可能不能滿足我們的需求,需要同時用多個條件來進行限制,比如,我們要獲取age列等于18且class列等于一班的所有行。

1. Excel實現

在Excel中,如果我們要對多個列進行篩選,則先篩選一列,然后通過單擊其他列的下拉箭頭對其他列進行篩選。其實就是將單條件查詢重復多遍。

2. SQL實現

在SQL中,我們可以直接在where后面用邏輯符來連接多個條件,比如,我們要獲取chapter5表中age列等于18且class列等于一班的所有行,可以通過如下代碼實現:

select
   *
from
   demo.chapter5
where age = 18 and class = "一班"

運行上面的代碼,具體運行結果如下表所示。

上面是以兩個條件為例的,也可以使用多個條件,多個條件之間還是直接用邏輯符連接即可。邏輯符除了用and,還可以用or,表示兩個或者多個條件中只要有一個條件滿足即可。比如,我們要獲取chapter5表中age列等于18或class列等于一班的所有行,可以通過如下代碼實現:

select
   *
from
   demo.chapter5
where age = 18 or class = "一班"

運行上面的代碼,就會把所有age列等于18或class列等于一班的所有行獲取出來,具體運行結果如下表所示。

在上面的代碼中,關于where后面的比較運算符我們只用了等于,還有更多的比較運算符可以用,比如,大于、小于、介于等,后續章節會詳細講述。

主站蜘蛛池模板: 祁连县| 呈贡县| 当雄县| 勐海县| 呼伦贝尔市| 五家渠市| 江永县| 定南县| 天气| 壤塘县| 萍乡市| 四子王旗| 威海市| 申扎县| 措勤县| 凉城县| 崇文区| 达州市| 南皮县| 循化| 太仓市| 张家口市| 诸暨市| 汽车| 宁乡县| 平陆县| 双流县| 南漳县| 民和| 滨州市| 阿鲁科尔沁旗| 岳普湖县| 绥宁县| 河津市| 渑池县| 东乌珠穆沁旗| 元谋县| 柯坪县| 甘南县| 宁南县| 怀仁县|