SQL必知必會 2 檢索資料

2021-09-25 19:12:53 字數 2359 閱讀 9687

select的用途就是從乙個表或多個表中檢索資訊。

注意:

1、關鍵字:作為sql組成部分的保留字,關鍵字不能用作表或列的名字;

2、sql是一種語言而不是乙個應用程式。

select pro_name 

from products;

#上述語句利用select語句從prodcts表中檢索乙個名為prod_name的列。

注意:

1、如果沒有對查詢結果排序,那麼返回的資料是沒有特點的順序,也就是說多次查詢的結果可能不一樣。返回資料的順序可能是資料被新增到表中的順序,也可能不是。只要返回相同數目的行,就是正常的。

2、多條sql語句必須以 ; 分割。

3、多數dbms中不需要再sql語句後加分號,但有的會,所以總是加上分號是沒有壞處的。

4、sql不區分大小寫,但是許多開發人員喜對sql關鍵字使用大寫,對列明和表名使用小寫,但是表名,列名,值可能會不同(這有賴於具體的dbms及其如何配置)。

5、多數開發人員認為,將sql語句分為多行更容易閱讀和調式。

select prod_id , prod_name , prod_price 

from products;

注意:

1、列名之間加逗號,但是最後乙個列名不加逗號。

2、sql語句一般返回原始的,無格式的資料。資料格式化是表示問題,而不是檢索問題。

select * 

from products;

注意:

1、列的順序一般是列在表定義**現的物理順序,但並不總是如此。

2、除非你確實需要表中的每一列,否則最好別使用萬用字元*,會降低檢索和應用程式的效能。

3、使用萬用字元有乙個大優點,檢索未知列。

select distinct vend_id 

from products;

#檢索products中不同的產品**商的id

注意:

1、distinct 關鍵字必須直接放在所有列名的前面;

2、distinct 關鍵字作用於所有的列,不能部分使用distinct (除非指定的列完全相同,不然不會被去重)

如果你只想返回第一行或一定數量的行,那該如何了?這是可行的,遺憾的是各種資料庫中這以sql實現並不相同。

select top 5 prod_name

from product;

select prod_name

from products

fetch first 5 rows only;

select prod_name

from products

where rownum <=5 ;

select prod_name

from products

limit 5;

select prod_name

from products

limit 5 offset 5 ;

#返回從第五行起(包含第五行)的五行資料

注意:

1、第乙個被檢索的是第0行,而不是第一行;

2、msysql,mariadb和sqlite支援簡化版的limit 4 off 3語句,即limit 3,4.使用這個語法,逗號之前的值對應offset,逗號之後的值對應limit。

使用注釋的原因:

1、隨著sql語句變長,複雜性增加,需要新增一些描述性的注釋,便於自己參考,或者供後續參與人員參考。

2、可能包含程式設計師的****,程式描述。

3、暫時停止要執行的sql**。

select prod_name from products;        --這是一條注釋

#使用--(兩個連字元)嵌入行內,--之後的文字就是注釋

#這是一條注釋

select prod_name 

from products;

#在一行的開始處使用#,這一整行都將作為注釋

/* select prod_name , vend_id 

from products;*/

select prod_name 

from products;

#注釋從/* 開始,到*/結束,之間的內容都是注釋

SQL必知必會 第2課 檢索資料

從乙個或多個表中檢索資訊。為了使用select檢索表資料,必須至少給出兩條資訊 想選擇什麼,以及從什麼地方選擇。如果沒有明確排序查詢結果,則返回的資料沒有特定的順序。多條sql語句必須以分號 分隔。不區分大小寫。一般來說可以對關鍵字大寫,對列名和表名小寫。若要從乙個表中檢索多個列,必須在select...

sql檢索資料 mysql必知必會閱讀

select name from users select name,password,age from users select from users select distinct name from users 使用distinct之後,只返回不同的值,放在列名前面 可以通過limit子句,返...

SQL必知必會2

資料庫伺服器有 兩種儲存介質 分別為硬碟和 記憶體。記憶體屬於臨時儲存,容量有限,且當發生意外時 如斷電或者發生故障重啟 會造成資料丟失 硬碟相當於永久儲存介質,這也是為什麼我們需要把資料儲存到硬碟上。資料庫中管理儲存空間的基本單位是頁 page 不論是讀一行還是多行,都是講這些行所在的頁進行載入 ...