SQL 查詢語句之select語句舉例
什么是 SELECT 語句?
在 SQL 語言中,SELECT 語句是最基礎(chǔ)、也是最常用的語句類型之一。它的核心作用是從數(shù)據(jù)庫表中查詢數(shù)據(jù),并將符合條件的結(jié)果以表格的形式返回。幾乎所有與數(shù)據(jù)庫交互的操作,查詢通常都是最頻繁使用的場(chǎng)景,而 SELECT 就是執(zhí)行這類操作的首選語句。
一條完整的 SELECT 語句至少包含兩個(gè)基本組成部分:
查詢的字段(列名):指明希望從表中檢索哪些列的數(shù)據(jù),例如產(chǎn)品名稱、價(jià)格、編號(hào)等。
數(shù)據(jù)來源的表名:指明數(shù)據(jù)是從哪個(gè)表中獲取的,例如 Products、Users、Orders 等。
例如,下面這條語句的含義是:從名為 products 的表中,查詢其中的 prod_name 列:
SELECT prod_name FROM products;
這是 SELECT 語句的基本結(jié)構(gòu),是學(xué)習(xí) SQL 的第一步,也是后續(xù)所有查詢操作的基礎(chǔ)。
為什么要學(xué)習(xí)SELECT 語句?
SELECT 是與數(shù)據(jù)打交道的入口。 數(shù)據(jù)庫中存儲(chǔ)著大量信息,而我們學(xué)習(xí) SQL 的目的之一就是從中提取有用的信息。無論是查看某個(gè)產(chǎn)品的價(jià)格、統(tǒng)計(jì)用戶的訂單數(shù)量,還是篩選出某個(gè)時(shí)間段內(nèi)的數(shù)據(jù),所有這些操作幾乎都離不開 SELECT 語句。
SELECT 語句具有高度的擴(kuò)展性。 從最簡單的“查詢一列數(shù)據(jù)”開始,到后續(xù)結(jié)合 WHERE 條件過濾、ORDER BY 排序、GROUP BY 分組聚合、JOIN 多表連接、嵌套子查詢等復(fù)雜操作,幾乎所有查詢邏輯都是以 SELECT 為基礎(chǔ)逐步構(gòu)建的。也就是說,SELECT 是貫穿整個(gè)數(shù)據(jù)庫查詢過程的核心。
后續(xù)代碼運(yùn)行基于下面的 products 表 來進(jìn)行查詢
| prod_id | prod_name | prod_price | vend_id |
|---|---|---|---|
| 1001 | 筆記本電腦 | 5999 | 100 |
| 1002 | 無線鼠標(biāo) | 99 | 100 |
| 1003 | 機(jī)械鍵盤 | 299 | 101 |
prod_id 是產(chǎn)品唯一標(biāo)識(shí)符
prod_name 是產(chǎn)品名稱
prod_price 是產(chǎn)品價(jià)格
vend_id 是產(chǎn)品供應(yīng)商 ID

查詢單列數(shù)據(jù)
SELECT prod_name FROM products;
從 products 表中查詢 prod_name 這一列的所有數(shù)據(jù)。

查詢多列數(shù)據(jù)
SELECT prod_id, prod_name, prod_price FROM products;
用逗號(hào)分隔多個(gè)字段名。
注意:最后一個(gè)字段后面不能加逗號(hào)。
返回的是表中的三列內(nèi)容。

查詢所有列
SELECT * FROM products;
* 表示返回所有字段。

查詢不同的值(去重)
SELECT DISTINCT vend_id FROM products;
DISTINCT 用于去除重復(fù)值。
如果不想看到重復(fù)的供應(yīng)商 ID,就要加它。

SELECT DISTINCT vend_id, prod_price FROM products;
基于 (vend_id, prod_price) 的組合去重。

在之前的表中,我們只有3行數(shù)據(jù),在這里我們?cè)偬砑?行數(shù)據(jù),如下

運(yùn)行下面代碼添加數(shù)據(jù)即可,不用手動(dòng)添加
記得圈出代碼再運(yùn)行,而不是直接運(yùn)行
INSERT INTO products (prod_id, prod_name, prod_price, vend_id)
VALUES
(1004, '平板電腦', 2499, 100),
(1005, '藍(lán)牙音箱', 199, 101),
(1006, '游戲耳機(jī)', 399, 102),
(1007, '無線充電器', 89, 100),
(1008, '電競(jìng)鼠標(biāo)墊', 49, 102);限制返回行數(shù)
SELECT prod_name FROM products LIMIT 5;

分頁查詢(從第幾行開始取多少行)
SELECT prod_name FROM products LIMIT 2 OFFSET 3;
LIMIT x OFFSET y 表示從第 y+1 行開始,取 x 行。
可用于實(shí)現(xiàn)分頁(例如:第2頁,每頁5條數(shù)據(jù))。

使用注釋(3種寫法)
(1) 行內(nèi)注釋(常用):
SELECT prod_name -- 查詢產(chǎn)品名 FROM products;
(2) 整行注釋:
# 查詢產(chǎn)品名 SELECT prod_name FROM products;
(3) 塊注釋:
/* 這個(gè)查詢已棄用 SELECT prod_name, vend_id FROM products; */ SELECT prod_name FROM products;
注釋不會(huì)被執(zhí)行,用于提高可讀性、臨時(shí)停用某段代碼。
尚未完結(jié),可點(diǎn)擊鏈接跳轉(zhuǎn)下一篇文章
到此這篇關(guān)于SQL 查詢語句之select語句舉例的文章就介紹到這了,更多相關(guān)sql 查詢語句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SQL Server中如何使用SELECT語句進(jìn)行UPDATE操作
- SQL SELECT DISTINCT 語句實(shí)例詳解
- mysql中insert?into...select語句優(yōu)化方式
- Mybatis的@select和@SelectProvider注解方式動(dòng)態(tài)SQL語句解讀
- Mybatis注解開發(fā)@Select執(zhí)行參數(shù)和執(zhí)行sql語句的方式(最新詳解)
- MySQL中Select查詢語句的高級(jí)用法分享
- 論一條select語句在MySQL是怎樣執(zhí)行的
- SQL update select結(jié)合語句詳解及應(yīng)用
- MySQL Select語句是如何執(zhí)行的
- mysql學(xué)習(xí)筆記之完整的select語句用法實(shí)例詳解
相關(guān)文章
實(shí)例講解sql server排名函數(shù)DENSE_RANK的用法
這篇文章主要以一個(gè)實(shí)例講解了sql server排名函數(shù)DENSE_RANK的用法,感興趣的小伙伴們可以參考一下2016-03-03
SQL Server數(shù)據(jù)復(fù)制到的Access兩步走
以下的文章主要描述的是把SQL Server數(shù)據(jù)復(fù)制到的Access數(shù)據(jù)庫中的實(shí)際操作步驟,以及對(duì)其在實(shí)際操作中要用到的代碼描述。2015-09-09
java 連接sql server2008數(shù)據(jù)庫配置
本篇文章給大家分享java連接sql server2008數(shù)據(jù)庫配置的相關(guān)資料,需要的朋友可以參考下2015-09-09
SQL SERVER 2000 9003錯(cuò)誤的解決方法(只適用于SQL2000)
"無法打開新數(shù)據(jù)庫 'POS'。CREATE DATABASE 中止。 (Microsoft SQL Server,錯(cuò)誤: 9003)"看是9003錯(cuò)誤,怎么解決呢,下面小編給大家分享SQL SERVER 2000 9003錯(cuò)誤的解決方法(只適用于SQL2000),一起看看吧2016-09-09
SQLServer XML數(shù)據(jù)的五種基本操作
SQLServer XML數(shù)據(jù)的五種基本操作語句2009-07-07
Navicat 連接SQLServer數(shù)據(jù)庫(圖文步驟)
這篇文章主要介紹了Navicat 連接SQLServer數(shù)據(jù)庫(圖文步驟),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

