1 1 SQL學習筆記 SQL基礎

2022-05-23 19:18:07 字數 2674 閱讀 9045

一、select    

select用於指定檢索返回的結果。(本例均採用mysql)

from用於指定檢索的表。

例如:select prod_name from products;

會檢索products表,返回prod_name列。

執行結果如下

select中可以指定多個列,列名直接用「,」隔開。

select colname1,colname2,colname3... from tablename;

如果需要返回所有列,可以採用「*」。

select * from tablename;返回指定表所有列。

注:如果不是必須返回所有列,不要這樣寫,返回所有列會降低檢索效能。

二、order by

檢索出來所顯示的資料的順序是不確定的,這時需要人為對其排序。

排序所使用的關鍵字為order by colname,後面加上排序所依據的列,也就是說按照(colname列)進行排序(預設公升序)。

order by需要放在最後面。

指定了按prod_name排序(預設公升序)。

order by 後面可以指定多個列名,例如order by colname1,colname2,colname3...;

排序時會先按colname1中資料進行比較進行排序,如果colname1中的資料相同無法,則按colname2中的資料進行排序。

如果colname1可以區分出次序,則後續列名都不會起作用。

例如上圖中先按vend_id排序,在vend_id相同的情況下按照prod_price進行排序。

之前說到預設排序是公升序,那麼必定有方法可以將其設定為降序。

設定為降序需要通過desc(descend)關鍵字來實現。公升序:asc(ascension )

上圖先採用vend_id公升序排列,在vend_id相同的情況下採用prod_price進行降序排列。

由於預設是公升序,所以asc可以不指定。(如果是公升序可以不用新增,如果是降序則必須新增)

如果要按多列進行降序排序,則每個列名後都需要新增desc。

三、where

上列通過select * from tablename檢索出來的資料是全部的資料。

有沒有辦法只檢索出我們需要的資料呢?例如所有單價為3.49的商品。

這時就需要通過where指定新增,即返回我們需要的資料。

先看乙個例子

這裡返回了所有prod_price小於5的商品資訊。這裡我們先來分析下執行順序。

首先執行from找到需要進行查詢的表,然後執行where語句,找出所有prod_price小於5的行。

接著執行order by對其先按vend_id降序排序,然後再按prod_price公升序排序。最後執行selece

展示出檢索結果的所有列。

where支援的操作符號有

=:等於

<>, !=:不等於。

<:>

>:大於;

!<:>

!>:不大於,即小於等於。

between:位於指定兩個值之間。

is null:為null

(不同的資料庫管理軟體對操作符的支援不太一樣,某些資料庫管理軟體不支援某一些操作符,具體以查詢相關文件為準。)

注:where的篩選條件中,如果值為數字不要加『』(例如上例中的5),如果值為字元型別則需要新增『』(例如下例中的『dll01』)。

篩選出vend_id不等於『dll01』的商品。

接下來我們試下between,篩選出prod_price位於5-10之間的商品。

指定在兩個值之間,兩個值需要使用and連線。

使用between檢索出來的結果會包含兩端的值,即如果prod_price等於5,或等於10的商品也會被包含進來。

[5,10]閉區間。

is null,檢索指定列名中的屬性為空的行。

例如表中cust_email有兩項為空,現在需要檢索出cust_eamil為空的行。

結果如下:

SQL學習筆記 基礎SQL語句

andornot 邏輯運算子 order by 排序 基本修改語句 每一句結尾都有 所以注意換行,來增加可讀性。大小寫不敏感。命令一般全大寫,便於區分。當遇到差異的時候,以mysql為基礎進行筆記整理 選擇資料庫 use name 設定字符集 set names 字元編碼方式 select colu...

SQL學習筆記 基礎SQL語句

目錄and or not 邏輯運算子 order by 排序 基本修改語句 每一句結尾都有 所以注意換行,來增加可讀性。大小寫不敏感。命令一般全大寫,便於區分。當遇到差異的時候,以mysql為基礎進行筆記整理 選擇資料庫 use name 設定字符集 set names 字元編碼方式 select ...

SQL學習筆記 基礎語法

create database 資料庫名 use student create table studentinfo name varchar 20 id char 10 score int notnull use 資料庫名 指定資料庫 char 是固定位元組長度,varchar 是可變的位元組長度,...