當前位置:首頁 » 編程語言 » sql查找數據

sql查找數據

發布時間: 2022-11-17 01:55:39

sql查詢語句大全(一)

Select --從資料庫表中檢索數據行和列

Insert --向資料庫表添加新數據行

Delete --從資料庫表中刪除數據行

Update --更新資料庫表中的數據

Create TABLE --創建一個資料庫表

Drop TABLE --從資料庫中刪除表

Alter TABLE --修改資料庫表結構

Create VIEW --創建一個視圖

Drop VIEW --從資料庫中刪除視圖

Create INDEX --為資料庫表創建一個索引

Drop INDEX --從資料庫中刪除索引

Create PROCEDURE --創建一個存儲過程

Drop PROCEDURE --從資料庫中刪除存儲過程

Create TRIGGER --創建一個觸發器

Drop TRIGGER --從資料庫中刪除觸發器

Create SCHEMA --向資料庫添加一個新模式

Drop SCHEMA --從資料庫中刪除一個模式

Create DOMAIN --創建一個數據值域

Alter DOMAIN --改變域定義

Drop DOMAIN --從資料庫中刪除一個域

GRANT --授予用戶訪問許可權

DENY --拒絕用戶訪問

REVOKE --解除用戶訪問許可權

COMMIT --結束當前事務

ROLLBACK --中止當前事務

SET TRANSACTION --定義當前事務數據訪問特徵

DECLARE --為查詢設定游標

EXPLAN --為查詢描述數據訪問計劃

OPEN --檢索查詢結果打開一個游標

FETCH --檢索一行查詢結果

CLOSE --關閉游標

PREPARE --為動態執行准備 SQL 語句

EXECUTE --動態地執行 SQL 語句

DESCRIBE --描述准備好的查詢

declare @id char(10)

--set @id = '10010001'

select @id = '10010001'

---必須以@@開頭

declare @x int @y int @z int

select @x = 1 @y = 2 @z=3

if @x > @y

print 'x > y' --列印字元串'x > y'

else if @y > @z

print 'y > z'

else print 'z > y'

use pangu

update employee

set e_wage =

case

when job_level = 』1』 then e_wage*1.08

when job_level = 』2』 then e_wage*1.07

when job_level = 』3』 then e_wage*1.06

else e_wage*1.05

end

declare @x int @y int @c int

select @x = 1 @y=1

while @x < 3

begin

print @x --列印變數 x 的值

while @y < 3

begin

select @c =100*@x+ @y

print @c --列印變數 c 的值

select @y = @y + 1

end

select @x = @x + 1

select @y = 1

end

--例 等待 1 小時 2 分零 3 秒後才執行 Select 語句

waitfor delay 』01:02:03』

select * from employee

--例 等到晚上 11 點零 8 分後才執行 Select 語句

waitfor time 』23:08:00』

select * from employee

select *(列名) from table_name(表名) where column_name operator value

ex:(宿主)

select * from stock_information where stockid = str(nid)

stockname = 'str_name'

stockname like '% find this %'

stockname like '[a-zA-Z]%' --------- ([]指定值的范圍)

stockname like '[^F-M]%' --------- (^排除指定范圍)

--------- 只能在使用 like 關鍵字的 where 子句中使用通配符)

or stockpath = 'stock_path'

or stocknumber < 1000

and stockindex = 24

not stocksex = 'man'

stocknumber between 20 and 100

stocknumber in(10,20,30)

order by stockid desc(asc) --------- 排序,desc-降序,asc-升序

order by 1,2 --------- by 列號 stockname = (select stockname from stock_information where stockid = 4)

--------- 子查詢

--------- 除非能確保內層 select 只返回一個行的值,

--------- 否則應在外層 where 子句中用一個 in 限定符

select distinct column_name form table_name --------- distinct 指定檢索獨有的列值,不重復

select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name

select stockname , "stocknumber" = count(*) from table_name group by stockname

--------- group by 將表按行分組,指定列中有相同的值

having count(*) = 2 --------- having 選定指定的組

select *

from table1, table2

where table1.id *= table2.id -------- 左外部連接,table1 中有的而 table2 中沒有得以 null 表示

table1.id =* table2.id -------- 右外部連接

select stockname from table1

union [all] ----- union 合並查詢結果集,all-保留重復行

select stockname from table2

insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")

value (select Stockname , Stocknumber from Stock_table2)---value 為 select 語句

update table_name set Stockname = "xxx" [where Stockid = 3]

Stockname = default

Stockname = null

Stocknumber = Stockname + 4

delete from table_name where Stockid = 3

truncate table_name ----------- 刪除表中所有行,仍保持表的完整性

drop table table_name --------------- 完全刪除表

alter table database.owner.table_name add column_name char(2) null .....

sp_help table_name ---- 顯示表已有特徵

create table table_name (name char(20), age smallint, lname varchar(30))

insert into table_name select ......... ----- 實現刪除列的方法(創建新表)

alter table table_name drop constraint Stockname_default ---- 刪除 Stockname 的 default 約束

Ⅱ 怎樣從簡單資料庫用sql語句查詢數據

查詢是SQL語言的核心,SQL語言只提供唯一一個用於資料庫查詢的語句,即SELECT語句。用於表達SQL查詢的SELECT語句是功能最強也是最復雜的SQL語句,它提供了很多選項和使用方法。SELECT語句的命令格式如下:

SELECT查詢語句是由七個子句構成,其中SELECT和FROM子句是一個完整SELECT查詢語句必須要有的,其它的子句可以根據具體需要任選。上述的每個子句功能說明如下:

(1)SELECT子句

列出所有要求SELECT語句進行檢索的數據項,這些項可能取自資料庫中關系表的列,也可以是SQL在執行查詢時進行計算的表達式。這里的ALL和DISTINCT選項,表示查詢出的結果中是否容許有內容重復的行出現,預設時是ALL項,表示容許有重復的行出現,而*則表示查詢出所指定關系表中所有的列。

(2)FROM子句

FROM子句列出包含所要查詢的數據關系表。

(3)WHERE子句

WHERE子句告訴SQL只查詢某些關系表中滿足一定要求的行的數據,查詢要求由WHERE子句中的查詢條件確定。

(4)GROUP BY子句

GROUP BY子句指定當前查詢是匯總查詢,即不是對根據每行產生一個查詢結果,而是對相似的行進行分組,然後再對每組產生一個匯總查詢的結果。

(5)HAVING子句

HAVING子句告訴SQL只對由GROUP BY所得到的某些行組的結果進行過濾,選擇出滿足分組條件的分組。

(6)ORDER BY子句

ORDER BY子句確定是否將查詢出的結果按一列或多列中的數據進行排序,預設時是不排序的。

(7)INTO子句

INTO子句確定是否將查詢出的結果存入一張新的關系表中,預設時只將查詢出現的結果顯示在屏幕上。這是非標准SELECT語句中的子句,但目前絕大多數實際應用的SQL資料庫系統的SQL語言提供了這一選項。

下面是一些使用SELECT查詢語句進行數據查詢的示例。

例1:列出銷售額超過6000元的銷售人員的姓名、銷售目標和超過銷售目標的銷售額。

SELECT NAME,QUOTA,(SALES_QUOTA)

FROM SALESREPS

WHERE SALES>6000

例2:查出1999年最後一個季度的訂單情況。

SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT

FROM ORDERS

WHERE ORDER_DATE BETWEEN "01-OCT-99" AND "31-DEC-99"

例3:查出名稱是以ABC開頭的產品訂單情況。

SELECT ORDER_NUM,ORDER_DATE,PRODUCT,AMOUNT

FROM ORDERS

WHERE PRODUCT LIKE "ABC%"

例4:列出所有的銷售處,按區域名字母順序排列。

SELECT CITY,REGION

FROM OFFICE

ORDER BY REGION ASC

在這里ASC表示升序,如果表示降序可用DESC。

例5:列出每個銷售人員以及他們工作的城市和區域的情況。

SELECT NAME,CITY,REGION

FROM SALESREPS,OFFICE

WHERE REP_OFFICE=OFFICE

例6:查出有多少銷售員的銷售額超過了其目標額,以及他們的銷售額總和。

SELECT COUNT(NAME),SUM(SALES)

FROM SALESREPS

WHERE SALES>QUOTA

Ⅲ 用sql命令查詢數據

select * frm spec

Ⅳ 請問怎麼用sql語句查找整個資料庫里的某個數據

可用group by…having來實現。

可做如下測試:

1、創建表插入數據:

createtabletest
(idint,
namevarchar(10))
insertintotestvalues(1,'張三')
insertintotestvalues(2,'李四')
insertintotestvalues(3,'張三')
insertintotestvalues(4,'王五')
insertintotestvalues(5,'趙六')

其中name是張三的有兩行,也就是重復行。

2、執行sql語句如下:

select*fromtestwherenamein
((*)>1)

結果如圖:

Ⅳ 資料庫基礎篇(二)—— SQL之數據查詢

接下來,我們將使用員工相關的四張樣本數據表,來學習SQL,建議你在學習過程中多動手練習,理解才會更深刻。表和欄位含義,如下圖:

如何利用SQL語句來操作以上數據呢?我們必須將樣本數據導入MySQL客戶端(如:Navicat)中。可以在客戶端操作數據,或者在終端窗口。工作中經常在客戶端操作,所以本文所有SQL語句將在Navicat中學習。
首先將sql腳本保存到桌面(獲取方式:關注"Python之每日一課"公眾號,後來回復"sql基礎數據",即可。),導入SQL腳本的具體操作流程如下:

現在數據准備完成。這里是導入sql腳本;導出同理,選擇」轉儲SQL「文件。當然了,Navicat也支持將當前表或查詢結果導出Excel、CSV等文件類型。

下面可以寫SQL語句了(每個sql腳本可以保存,下次直接使用),如下:

類似於Python中 :print(要列印的東西)

①通過select查詢完的結果 ,是一個虛擬的表格,不是真實存在

② 要查詢的東西 可以是常量值、表達式、欄位、也可以是函數

補充:可以給欄位起別名,好處是提高可讀性,更方便理解;多表連接時,區分欄位。用AS 或 空格來實現。如下:

2、 條件查詢

條件查詢:根據條件過濾原始表的數據,查詢到想要的數據

1)語法

2)分類

①條件表達式

②邏輯表達式

③模糊查詢

⭐ 注意:where 一定要放到 from 後面。NULL 不是假,也不是真,而是"空";任何運算符,判斷符碰到NULL,都得NULL;NULL的判斷只能用is null,is not null;NULL 影響查詢速度,一般避免使值為NULL。exists查詢可以與in型子查詢互換,它們之間區別以後語句優化時會詳細講解。

3、 排序查詢

1)語法

2)舉栗

⭐ 注意:order by 一定要放到 語句最後(limit前面)

4、分組查詢
1)語法

2)特點

①可以按單個欄位分組

②和分組函數一同查詢的欄位最好是分組後的欄位

③分組篩選(where 和 having區別)

④可以按多個欄位分組,欄位之間用逗號隔開

⑤可以支持排序

⑥having後可以支持別名

3)舉栗

⭐ 注意:關鍵字順序是where —>group by—>having—>order by—>limit( having不能單獨使用,需結合group by ,表示對分組後的結果進行篩選;而 group by 必須結合分組聚合函數一起使用 ,比如:count()、max()等)

5、 常見函數

1)單行函數

2)分組函數

3)分組函數特點

①以上五個分組函數都忽略null值,除了count(*)

②sum和avg一般處理數值型,max、min、count可以處理任何數據類型

③都可以搭配distinct使用,用於統計去重後的結果

④count的參數可以支持:欄位、*、常量值,一般放1

6、連接查詢(多表查詢)

單個表不能滿足需求時,需要結合多張表,去除有關聯的數據。這時就需要用連接查詢,連接查詢有三種,通常join使用的最多。

①等值連接的結果 = 多個表的交集

②多個表不分主次,沒有順序要求

③一般為表起別名,提高閱讀性和性能

①語法

②好處

語句上,連接條件和篩選條件實現了分離,簡潔。

⭐ 注意:左右連接可互換 A left join B 等價於B right join A;內連接是左</pre>

右連接的交集;mysql沒有外連接。

自連接相當於等值連接,但是等值連接涉及多個表,而自連接僅僅是它自己。如下:在員工信息表裡,查詢員工名和直接上級的名。

7、子查詢

一條查詢語句中又嵌套了另一條完整的select語句,其中被嵌套的select語句,稱為子查詢或內查詢。在外面的查詢語句,稱為主查詢或外查詢。

①子查詢都放在小括弧內

②子查詢可以放在from後面、select後面、where後面、having後面,但一般放在條件的右側

③子查詢優先於主查詢執行,主查詢使用了子查詢的執行結果

④子查詢根據查詢結果的行數不同分為以下兩類:

2)舉栗

8、分頁查詢 (可選)
實際web開發中,當顯示的數據,一頁顯示不完時,需要分頁提交sql請求。

2)特點

①起始條目索引默認從0開始

②limit子句放在查詢語句的最後

③公式:select * from 表 limit (page-1)*sizePerPage,

3)舉栗

9、union聯合查詢

union用於把涉及多個表的SELECT語句的結果組合到一個結果集合中。適用於查詢條件較多,多個表之間沒有連接關系的場景。</pre>

2)特點

①多條查詢語句的查詢的列數必須是一致的

②多條查詢語句的查詢的列的類型幾乎相同

③union 代表去重,union all 代表不去重

3)舉栗

UNION 和 UNION ALL 運行結果的區別如下:

⭐ 注意:在多個 SELECT 語句中,第一個 SELECT 語句中被使用的欄位名稱將被用於結果的欄位名稱。當使用 UNION 時,MySQL 會把結果集中重復的記錄刪掉,而使用 UNION ALL ,MySQL 會把所有的記錄返回,且效率高於 UNION

好,今天學習到這里。工作中用的最多就是查詢。如果能消化本文涉及到的所有內容,大概能解決80%的工作需求。本文更多的是原理介紹,例子不多,只有先知道是什麼,才能知道怎麼學。那麼,接下來最重要的是要多練習實踐。因為實際的業務場景要復雜很多,給大家推薦兩個刷題的網站,力扣和牛客網,裡面有大量的sql面試題。能進一步提高我們sql的水平。這篇文章主要是SQL的常用查詢。明天繼續學習SQL的DML增刪改。一起加油!

Ⅵ sql 查詢 一個表中某幾列數據

sql查詢一個表中某幾列數據語法:

1、SELECT 列名稱1、列名稱2.....列名稱n FROM 表名稱 WHERE 列 運算符 值;

2、SELECT * from 表名稱 where 列 運算符 值(列 運算符 值,這個可以是多個,中間用and隔開)。

解析:使用sql查詢時,作為查詢的篩選限制條件,只需要對有限制要求的欄位使用where進行限制即可,無需對非限制要求的欄位進行特別限制。

所以你的語句可以修改為"select * from test1 where id=『2』;"就可以了。其中,你原語句中的name=全部和age=全部,屬於多餘的,如果不對name和age欄位做任何限制的話,sql本身就是會查詢全部name和age,而無需你另外加設條件。

再比如你這樣寫:「select * from test1;」在不加任何where條件的情況下,這個sql查詢本身就是查詢全部數據。而當加入id='2'之後,就限制了只能返回id值是2的某一條或者多條數據。

通過幾個例子來加深一下對上表各查詢條件使用的理解:

1、查詢計算機科學系全體學生的名單;

SELECT Sname FROM StudentWHERE Sdept='CS';

2、查詢所有年齡在20歲以下的學生姓名及其年齡;

SELECT Sname,Sage FROM StudentWHERE Sage<20;

3、查詢考試成績不合格的學生的學號;

SELECT DISTINCT Sno FROM SCWHERE Grade<60;

4、查詢年齡在20~23歲之間的學生的姓名、系別和年齡;

SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23;

5、查詢年齡在20~23歲之間的學生的姓名、系別和年齡;

SELECT Sname,Sdept,Sage FROM StudentWHERE Sage NOT BETWEEN 20 AND 23;

6、查詢計算機科學系(CS)、數學系(MA)和信息系(IS)學生的姓名、系別和年齡。

SELECT Sname,Ssex FROM Student WHERE Sdept IN('CS','MA','IS')。

Ⅶ SQL資料庫,如何查詢資料庫內含有某一列(某欄位,如name)的所有表

SQL資料庫,查詢包含列(欄位,如名稱)的資料庫中的所有表的步驟如下:需要准備的材料是:計算機,sql finder。

1,首先,打開sql查詢器並連接到相應的數據連接,例如測試庫。

Ⅷ 怎樣用SQL語句查詢一個資料庫中的所有表

1、打開Microsoft SQL Server 2012,選中需要查詢所有表的資料庫。

Ⅸ sql資料庫查詢語句例子

各位同學們好,我們今天繼續來說,sql資料庫。我們今天的文檔中主要介紹了SQL查詢語句、查詢語句示例等。這里我給大家做了一個總結,有需要的同學可以參考一下。

首先,我們來了解一下SQL資料庫組成基本:

查找Movies表裡的Title欄位:

查找ID小於5的電影的Title和Director的以下這些:

查看電影的總條數

以下查詢語句是常用於班級統計的:

查詢「001」課程比「002」課程成績高的所有學生的學號:

查詢平均成績大於60分的同學的學號和平均成績:

查詢所有同學的學號、姓名、選課數、總成績:

查詢姓「李」的老師的個數:

查詢沒學過「葉平」老師課的同學的學號、姓名:

查詢學過「001」並且也學過編號「002」課程的同學的學號、姓名:

查詢學過「葉平」老師所教的所有課的同學的學號、姓名:

查詢課程編號「002」的成績比課程編號「001」課程低的所有同學的學號、姓名:

查詢所有課程成績小於60分的同學的學號、姓名:

查詢沒有學全所有課的同學的學號、姓名:

好了,這就是關於sql資料庫查詢語句的基礎了。我都替你們整理好了,感興趣的同學收藏一來,需要用的時候直接拿起來用就可以了。我們今天就到這里,下期再見!

本篇文章使用以下硬體型號:聯想小新Air15;系統版本:win10;軟體版本:sqlserver2008。

Ⅹ sql查找某一欄位相同的所有數據

1、在我們的電腦上打開資料庫,這里新建一張含有重復數據的user表做示例。

熱點內容
電腦電腦直連通訊ftp 發布:2025-01-13 15:38:03 瀏覽:717
nvm存儲 發布:2025-01-13 15:36:19 瀏覽:552
京東架構師緩存經驗 發布:2025-01-13 15:33:00 瀏覽:726
android圖片顏色 發布:2025-01-13 15:26:09 瀏覽:268
國家稅務總局電腦伺服器 發布:2025-01-13 15:10:24 瀏覽:596
金立老款機的開機密碼是多少 發布:2025-01-13 15:04:45 瀏覽:456
湖南網上辦稅初始密碼多少 發布:2025-01-13 15:02:49 瀏覽:417
怎麼使用筆記本連接伺服器 發布:2025-01-13 15:02:48 瀏覽:705
長城cs75plus選哪個配置 發布:2025-01-13 14:54:05 瀏覽:22
php與大象 發布:2025-01-13 14:48:34 瀏覽:344