當前位置:首頁 » 編程語言 » sql資料庫查詢表

sql資料庫查詢表

發布時間: 2023-08-15 17:46:56

sql資料庫多表查詢(sql資料庫多表查詢示例)

可以有兩種處理方法,1、兩表先合並,後求和

select日期,sum(數值)as數值from

(select日期,金額薯局祥as數值fromA表

unionall

select日期,數量as數值fromB表)

groupby日期

2、先求和後合並,再求和

select日期,sum(數值)as數值from

(select日期,sum(金額)as數值fromA表groupby日期

unionall

select日期,sum(數量)as數值fromB表groupby日期)

groupby日期

對於「如果要實現總和的相乘、相除,或者相減得話,應該怎麼寫呢?」,你得提出明確需求,那後才能設計。

如果數搏是相乘、相除,或者相減,得有條件,還像上面,用日期關聯,A表-B表,A表求和:select日期,sum(金額)as數值fromA表groupby日期

B表求和:select日期,sum(數量)as數值fromB表groupby日期

在執行A表-B表時,由於用日期關聯,則某一日期對應的記錄可能會產生三種情況:A表B表都有;A表有B表無;A表無B表有。

1、需要先找出所有日期,select日期fromA表

union

select日期fromB表

2、對於A表中所有數據以上表中日期為依據構造所有相關日期數據,如果有日期數據,則為原數臘橋據,否則為0。

selecta.日期as日期,casewhenb.數值isNULLthenb.數值else0endas數值

from

(select日期fromA表

union

select日期fromB表)a

leftjoin

(select日期,sum(金額)as數值fromA表groupby日期)b

ona.日期=b.日期

3、同樣對於B表也如此。

4、2表相減即得。

selecta3.日期as日期,a3.數值-b3.數值as數值

from

(

selecta1.日期as日期,casewhenb1.數值isNULLthenb1.數值else0endas數值

from

(select日期fromA表

union

select日期fromB表)a1

leftjoin

(select日期,sum(金額)as數值fromA表groupby日期)b1

ona1.日期=b1.日期

)a3,(

selecta2.日期as日期,casewhenb2.數值isNULLthenb2.數值else0endas數值

from

(select日期fromA表

union

select日期fromB表)a2

leftjoin

(select日期,sum(金額)as數值fromB表groupby日期)b2

ona2.日期=b2.日期

)b3

wherea3.日期=b3.日期

當然,以上只是一種方法,還有其他方法也可以實現,盡供參考。

㈡ SQL怎麼連接查詢2個表

如果是外連接:select 列名1,列名2
from 表1 left outer join 表2
on 表1.id = 表2.id
如果散簡是等值連接:select 列名1,列名2
from 表1,表2
where 表1.id = 表2.id

結構化查詢語言簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語沖畝褲言,用耐纖於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

㈢ sql2008怎麼查看錶的內容

1、首先登錄sql server伺服器,輸入正確的用戶名和密碼。

(3)sql資料庫查詢表擴展閱讀:

一個資料庫通常包含一個或多個表。每個表由一個名字標識(例如「客戶」或者「訂單」)。表包含帶有數據的記錄(行)。

下面的例子是一個名為 "Persons" 的表:

Id

LastName

FirstName

Address

City

1 Adams John Oxford Street London

2 Bush George Fifth Avenue New York

3 Carter Thomas Changan Street Beijing

上面的表包含三條記錄(每一條對應一個人)和五個列(Id、姓、名、地址和城市)。

SQL 語句

您需要在資料庫上執行的大部分工作都由 SQL 語句完成。

下面的語句從表中選取 LastName 列的數據:

SELECT LastName FROM Persons

結果集類似這樣:

LastName

Adams

Bush

Carter

㈣ 如何查看資料庫中的表

怎樣用SQL語句查詢一個資料庫中的所有表?
--讀取庫中的所有表名select name from sysobjects where xtype='u'--讀取指定鋒前液表的所有列名select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')獲取資料庫表名和欄位sqlserver中各個系統表的作用sysaltfiles 主資料庫 保存資料庫的文件syscharsets 主資料庫 字元集與排序順序sysconfigures 主資料庫 配置選項syscurconfigs 主資料庫 當前配置選項sysdatabases 主資料庫 伺服器中的資料庫syslanguages 主資料庫 語言syslogins 主資料庫 登陸帳號信息sysoledbusers 主資料庫 鏈接伺服器登陸信息sysprocesses 主資料庫 進程sysremotelogins主資料庫 遠程登錄帳號syscolumns 每個數據銀物庫 列sysconstrains 每個資料庫 限制sysfilegroups 每個資料庫 文件組sysfiles 每個資料庫 文件sysforeignkeys 每個資料庫 外部關鍵字sysindexs 每個資料庫 索引sy *** enbers 每個資料庫 角色成員sysobjects 每個資料庫 所有資料庫對象syspermissions 每個資料庫 許可權systypes 每個資料庫 用戶定義數據類型select 列名=name from syscolumns where id=object_id(N'要查的表名')
如何查看oracle資料庫中的所有表
覺得你應該先弄清楚oracle的常規數據字典的結構,像9i里的常規數據字典中對象名稱就有以USER,ALL,DBA為前綴的對象。

以USER為例,我們查該對象下有些什麼表,就應該執行下列的語句:

SQL>select table_name from user_tables;

類似的,你可以進行替換。:)

如果你想查資料庫中所有的表的話,可以查詢

SELECT * FROM dba_tables

如果你想查詢資料庫中某個用戶下的表的話,也可以登錄這個用戶,再查詢:

SELECT * FROM USER_TABLES

要想導入外部sql語句可以用命令

sql >@e:\文件名.sql

如你想保存 select * from tablename;語句的結果,可以在sql*plus 裡面這樣:

SPOOL c:\test.sql 這是保存文件的位置

select * from tablename;

SPOOL OFF
mysql如何進入資料庫查看所悔灶有表
mysql> use my_db;

mysql> select * from rmation_schema.tables t where t.table_schema='my_db';

--大概

Mysql> create table lala (la_id int ,la_name varchar(55) primary(id)) enginee=innodb
怎樣看SQL資料庫中哪些表有數據
什麼資料庫

1.

select * from rmation_schema.tables

2.

select table_name from user_all_tables

-------------------------

CREATE PROCEDURE get_table AS

if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespace]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

create table tablespace --創建結果存儲

(name varchar(50) ,

rows int , reserved varchar(20) ,

data varchar(20) ,

index_size varchar(20) ,

unused varchar(20) )

truncate table tablespace --清空數據表

--這里.....關鍵部分.把存儲過程的結果放到一個表裡.

insert into tablespace exec sp_MSforeachtable "exec sp_spaceused '?'"

go

查詢運行該存儲過程後得到的結果

select * from tablespace order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc

㈤ SQL server資料庫里查詢時新建查詢怎麼進行多表查詢

查詢結果直接創建一個新表存放

select * into [新表名] FROM [原表名]WHERE 車輛='小汽車'

若新建表要放在另一個資料庫B中

USE B

GO

SELECT * INTO [新御拆表名] FROM [資料庫名]..[表名]

WHERE 車輛='小汽車'

GO

熱點內容
mysql內存存儲 發布:2025-02-05 22:30:39 瀏覽:569
靜態存儲區堆棧 發布:2025-02-05 22:09:11 瀏覽:101
js加密演算法 發布:2025-02-05 22:06:35 瀏覽:230
python3graphics 發布:2025-02-05 21:36:57 瀏覽:511
為什麼英雄聯盟一個伺服器進不去 發布:2025-02-05 21:36:12 瀏覽:182
伺服器搭建網站開發教材 發布:2025-02-05 21:31:57 瀏覽:567
pythonrose 發布:2025-02-05 21:31:46 瀏覽:923
php數組從小到大排序 發布:2025-02-05 21:26:01 瀏覽:325
單片機存儲器擴展 發布:2025-02-05 21:17:35 瀏覽:966
sqler圖 發布:2025-02-05 21:10:58 瀏覽:630