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