當前位置:首頁 » 編程語言 » sql語句書寫

sql語句書寫

發布時間: 2023-05-02 04:38:02

❶ 求sql語句的寫法

假設已知的每日產量數據存儲在名為"daily_proction"的表中,表結構如下:
日期日產量
2023/1/1 5
2023/1/2 5
2023/1/3 6
2023/1/4 34
2023/1/5 5
2023/1/6 5
2023/1/7 6
可以使用以下SQL語句計算每日的月累計數:
sqlCopy code
SELECT 日期, 日產量, SUM(日產量) OVER (ORDER BY 日期) AS 月累計數
FROM daily_proction
ORDER BY 日期;
這條SQL語句使用了窗口函數(Window Function)中的凱虛手SUM函數,通過ORDER BY子句指定按日期升序排序,然後使用窗口函數計算每日的月累計數,並在結果集中返回。最終的結果集會包含日期、日產量和月累計數三個字盯嫌譽尺段。

❷ SQL語句 怎麼寫

創建資料庫
創建之前判斷該資料庫是鍵櫻否存在
if exists (select * from sysdatabases where name='databaseName')
drop database databaseName
go
Create DATABASE database-name
刪除資料庫
drop database dbname
備份sql server
--- 創建 備份數據的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack
創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
A:go
use 原資料庫名
go
select * into 目的資料庫名.dbo.目的表名 from 原表名(使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
刪除新表
drop table tabname
增加一個列
Alter table tabname add column col type
創建視圖
create view viewname as select statement
刪除視圖:drop view viewname
選擇:select * from table1 where 范圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)---like的語法很精妙,辯前查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count(*) as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
幾個高級查詢運算詞
A: UNION 運算符
UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重復行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生攜亮清表的每一行不是來自 TABLE1 就是來自 TABLE2。
B: EXCEPT 運算符
EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行並消除所有重復行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。
C: INTERSECT 運算符
INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行並消除所有重復行而派生出一個結果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
使用外連接
A、left outer join:
左外連接(左連接):結果集既包括連接表的匹配行,也包括左連接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full outer join:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
編輯本段
判斷對象是否存在
判斷資料庫是否存在
if exists (select * from sys.databases where name = '資料庫名')
drop database [資料庫名]
判斷表是否存在
if not exists (select * from sysobjects where [name] = '表名' and xtype='U')
begin
--這里創建表
end
判斷存儲過程是否存在
if exists (select * from sysobjects where id = object_id(N'[存儲過程名]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [存儲過程名]
判斷臨時表是否存在
if object_id('tempdb..#臨時表名') is not null
drop table #臨時表名
判斷視圖是否存在
--SQL Server 2000
IF EXISTS (SELECT * FROM sysviews WHERE object_id = '[dbo].[視圖名]'
--SQL Server 2005
IF EXISTS (SELECT * FROM sys.views WHERE object_id = '[dbo].[視圖名]'
判斷函數是否存在
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[函數名]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[函數名]
獲取用戶創建的對象信息
SELECT [name],[id],crdate FROM sysobjects where xtype='U'
/*
xtype 的表示參數類型,通常包括如下這些 C = CHECK 約束 D = 默認值或 DEFAULT 約束 F = FOREIGN KEY 約束 L = 日誌 FN = 標量函數 IF = 內嵌表函數 P = 存儲過程 PK = PRIMARY KEY 約束(類型是 K) RF = 復制篩選存儲過程 S = 系統表 TF = 表函數 TR = 觸發器 U = 用戶表 UQ = UNIQUE 約束(類型是 K) V = 視圖 X = 擴展存儲過程 */
判斷列是否存在
if exists(select * from syscolumns where id=object_id('表名') and name='列名')
alter table 表名 drop column 列名
判斷列是否自增列
if columnproperty(object_id('table'),'col','IsIdentity')=1
print '自增列'
else
print '不是自增列'
SELECT * FROM sys.columns WHERE object_id=OBJECT_ID('表名')
AND is_identity=1
判斷表中是否存在索引
if exists(select * from sysindexes where id=object_id('表名') and name='索引名')
print '存在'
else
print '不存在
查看資料庫中對象
SELECT * FROM sys.sysobjects WHERE name='對象名'
編輯本段
提升
復製表
(只復制結構,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a
拷貝表
(拷貝數據,源表名:a 目標表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
跨資料庫之間表的拷貝
(具體數據使用絕對路徑) (Access可用)
insert into b(a, b, c) select d,e,f from b in 『具體資料庫』 where 條件
例子:..from b in '"&Server.MapPath("."&"\data.mdb" &"' where..
子查詢
(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b 或者: select a,b,c from a where a IN (1,2,3)
顯示文章、提交人和最後回復時間
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
外連接查詢
(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
在線視圖查詢
(表名1:a
select * from (Select a,b,c FROM a) T where t.a > 1;
between的用法
between限制查詢數據范圍時包括了邊界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 數值1 and 數值2
in 的使用方法
select * from table1 where a [not] in (『值1』,』值2』,』值4』,』值6』)
刪除主表中已經在副表中沒有的信息
兩張關聯表delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1
四表聯查問題
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
日程安排提前五分鍾提醒
SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5
一條sql 語句搞定資料庫分頁
select top 10 b.* from (select top 20 主鍵欄位,排序欄位 from 表名 order by 排序欄位 desc) a,表名 b where b.主鍵欄位 = a.主鍵欄位 order by a.排序欄位
前10條記錄
select top 10 * form table1 where 范圍
選擇排名
選擇在每一組b值相同的數據中對應的a最大的記錄的所有信息(類似這樣的用法可以用於論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
派生結果表
包括所有在 TableA 中但不在 TableB和TableC 中的行並消除所有重復行而派生出一個結果表
(select a from tableA except (select a from tableB) except (select a from tableC)
隨機取出10條數據
select top 10 * from tablename order by newid()
隨機選擇記錄
select newid()
刪除重復記錄
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)
列出資料庫里所有的表名
select name from sysobjects where type='U'
列出表裡的所有的
select name from syscolumns where id=object_id('TableName')
列示排列
列示type、vender、pcs欄位,以type欄位排列,case可以方便地實現多重選擇,類似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
顯示結果:
type vender pcs
電腦 A 1
電腦 A 1
光碟 B 2
光碟 A 2
手機 B 3
手機 C 3
初始化表table1
TRUNCATE TABLE table1
選擇從10到15的記錄
select top 5 * from (select top 15 * from table order by id asc) table_別名 order by id desc
數據類型轉換
declare @numid int
declare @id varchar(50)
set @numid=2005
set @id=convert(varchar,@numid)
通過上述語句完成數據類型Int轉換成varchar,其他轉換類似,可參看convert函數
編輯本段
技巧
1=1,1=2的使用
在SQL語句組合時用的較多
「where 1=1」 是表示選擇全部 「where 1=2」全部不選,
如:
if @strWhere !='
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end
else
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end
我們可以直接寫成
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 and '+ @strWhere
收縮資料庫
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收縮數據和日誌
DBCC SHRINKDB
DBCC SHRINKFILE
壓縮資料庫
dbcc shrinkdatabase(dbname)
轉移資料庫給新用戶以已存在用戶許可權
exec sp_change_users_login 'update_one','newname','oldname'
go
檢查備份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
修復資料庫
Alter DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
Alter DATABASE [dvbbs] SET MULTI_USER
GO
日誌清除
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE tablename -- 要操作的資料庫名
Select @LogicalFileName = 'tablename_log', -- 日誌文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 1 -- 你想設定的日誌文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
Select @OriginalSize = size
FROM sysfiles
Where name = @LogicalFileName
Select 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
Where name = @LogicalFileName
Create TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
Select @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (Select size FROM sysfiles Where name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
Select @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
Insert DummyTrans VALUES ('Fill Log')
Delete DummyTrans
Select @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
Select 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
Where name = @LogicalFileName
Drop TABLE DummyTrans
SET NOCOUNT OFF
更改某個表
exec sp_changeobjectowner 'tablename','dbo'
存儲更改全部表
Create PROCEDURE dbo.User_ChangeObjectOwnerBatch
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS
DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)
DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name
OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
-- select @name,@NewOwner,@OldOwner
FETCH NEXT FROM curObject INTO @Name, @Owner
END
close curObject
deallocate curObject
GO
SQL SERVER中直接循環寫入數據
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end

❸ sql語句咋寫

select * from world
where (area > 3000000 and population < 250000000)
or (area < 3000000 and population > 250000000);
或者
select * from (
select *,
case when area > 3000000 then 1 else 0 end as area_flag,
case when population > 250000000 then 1 else 0 end as population_flag
from world
) as x
where area_flag + area_flag = 1;

❹ 如何書寫高效的SQL語句

優化SQL查詢:如何寫出高性能SQL語句
1、首先要搞明白什麼叫執行計劃?
執行計劃是資料庫根據SQL語句和相關表的統計信息作出的一個查詢方案,這個方案是由查詢優化器自動分析產生欀如一條SQL語句如果用來從一個10萬條記錄的表中查1條記錄,那查詢優化器會選擇「索引查找」方式,如果該表進行了歸檔,當前只剩下5000條記錄了,那查詢優化器就會改變方案,採用 「全表掃描」方式。
可見,執行計劃並不是固定的,它是「個性化的」。產生一個正確的「執行計劃」有兩點很重要:
(1) SQL語句是否清晰地告訴查詢優化器它想干什麼?
(2) 查詢優化器得到的資料庫統計信息是否是最新的、正確的?
2、統一SQL語句的寫法
對於以下兩句SQL語句,程序員認為是相同的,資料庫查詢優化器認為是不同的。
select * from al
select * From al
其實就是大小寫不同,查詢分析器就認為是兩句不同的SQL語句,必須進行兩次解析。生成2個執行計劃。
所以作為程序員,應該保證相同的查詢語句在任何地方都一致,多一個空格都不行!
3、不要把SQL語句寫得太復雜
我經常看到,從資料庫中捕捉到的一條SQL語句列印出來有2張A4紙這么長。一般來說這么復雜的語句通常都是有問題的。我拿著這2頁長的SQL語句去請教原作者,結果他說時間太長,他一時也看不懂了。可想而知,連原作者都有可能看糊塗的SQL語句,資料庫也一樣會看糊塗。
一般,將一個Select語句的結果作為子集,然後從該子集中再進行查詢,這種一層嵌套語句還是比較常見的,但是根據經驗,超過3層嵌套,查詢優化器就很容易給出錯誤的執行計劃。因為它被繞暈了。像這種類似人工智慧的東西,終究比人的分辨力要差些,如果人都看暈了,我可以保證資料庫也會暈的。
另外,執行計劃是可以被重用的,越簡單的SQL語句被重用的可能性越高。而復雜的SQL語句只要有一個字元發生變化就必須重新解析,然後再把這一大堆垃圾塞在內存里。可想而知,資料庫的效率會何等低下。
4、使用「臨時表」暫存中間結果
簡化SQL語句的重要方法就是採用臨時表暫存中間結果,但是,臨時表的好處遠遠不止這些,將臨時結果暫存在臨時表,後面的查詢就在tempdb中了,這可以避免程序中多次掃描主表,也大大減少了程序執行中「共享鎖」阻塞「更新鎖」,減少了阻塞,提高了並發性能。

❺ sql語句的寫法

這是sql server 2000的方法,如橡耐果是2005以上可以用row_number(),oracle可以用rank,慶運比這個就方便多了。
說明一下:class1就是一級分類的ID,梁差春class2就是二級分類ID,id就是產品表的產品id,這個也可以換成產品名稱。

select a.class1, b.*
from class a, (
select *, px=(select count(*)
from proct a
where a.class2=b.class2 and a.id < b.id)+1
from
proct b) b
where a.class2 = b.class2
and px <=3 and a.class1 = 輸入的一級分類ID

❻ sql常用語句寫法

SQL 基本操作命令 創建資料庫create database 資料庫名切換資料庫use database 資料庫名刪除資料庫drop database 資料庫名 將資料庫設為只讀execute sp_dboption '資料庫名','rend only','true' 將資料庫設為自動收縮execute sp_dboption '資料庫名','autoshrink','true'將資料庫設為單獨訪問execute sp_dboption '資料庫名','single user' 收縮資料庫:dbcc shrinkdatabase(資料庫名,未用空間百分比) 創建表create table 表名(列名 數據類型,列名 數據類型衡握銀) 建表時創建主鍵create table 表名(列名 數據類型 primary key,列名 數據類型)建表後創建主鍵alter table 表名 add constraint pk_表名 primary key(列名) 建表後刪除主鍵alter table 表名 drop constraint pk_表名 建表時創建唯一約束create table 表名(列名 數據類型 unique,列名 數據類型)建表後創建唯一約束alter table 表名 add constraint u_表名 unique(列名) 建表後刪除唯一約束alter table 表名 drop constraint u_表名 建表時創建檢查約束create table 表名(列名 數據類型 check(條件),列名 數據類型)建表後創建檢查約束alter table 表名 add constraint ck_表名 check(條件) 建表後刪除檢查約束alter table 表名 drop constraint ck_表名 建表時創建默認約束create table 表名(列名 數據類型 default(默認值),列名 數據類型)建表後創建默認約束alter table 表名 add constraint df_表名 default(默認值) for 列名 建表後刪除默認約束alter table 表名 drop constraint df_表名 建表時創建外鍵約束create table 表名(列名 數據類型 foreign key references 外表名(主鍵),列名 數據類型)建表後創建外鍵約束alter table 表名 add constraint fk_表名 foreign key(列名) references 外表名(主鍵) 建表後刪除外鍵約束alter table 表名 drop constraint fk_表名 刪除表drop table 表名設置列值自動編號create table 表名(列名 數據類咐宴型 int identity(起始值,步長),列名 數據類型) 修改表中列的數據類型alter table 表名[alter column 列名 數據皮液類型]在表中添加一個新列alter table 表名[add 列名 數據類型]刪除表中的某一列alter table 表名[drop column 列名] 輸入數據insert into 表名 values(對應列的值) 更新數據update 表名 set 新值 where 條件刪除數據delete from 表名 where 條件刪除表中所有數據truncate table 表名 將現有表中的數據添加到另一個表insert 目標表名 select 源表列名 from 源查詢所有數據select * from 表名按條件查詢數據select * from 表名 where 條件 按條件查詢某列不重復數據select distinct 列名 from 表名 where 條件按升序排列查詢結果select * from 表名 order by 列名按降序排列查詢結果select * from 表名 order by 列名 desc 按條件查詢數據並排序select * from 表名 where 條件 order by 列名 在查詢結果中自定義列名select 新列名=原列名 from 表名 where 條件在查詢結果中返回最前面的行select top 行數 * from 表名在查詢結果中返回最前面的行數的百分比select top 百分比 percent * from 表名查詢列中所有數值的和select 新列名=sum(列名) from 表名 where 條件查詢列中所有數值的平均值select 新列名=avg(列名) from 表名 where 條件查詢列中非空值的數目select 新列名=count(列名) from 表名查詢表中非空值的數目select 新列名=count(*) from 表名查詢列中的最大值select 新列名=max(列名) from 表名查詢列中的最小值select 新列名=min(列名) from 表名對查詢結果按條件進行分組select 聚合函數(列名) from 表名 group by 列名 having 條件模糊查詢select * from 表名 where 列名 like 『字元通配符』查詢表中包含指定值的所有行select * from 表名 where 列名 in ('值')查詢表中不包含指定值的所有行select * from 表名 where 列名 not in ('值')查詢表中列的數值在數值1到數值2之間的所有行select * from 表名 where 列名 between 數值1 and 數值2查詢表1和表2中包含相同列的所有行select * from 表1 inner join 表2 on 表1.列=表2.列 where 條件 我空間里有,備忘用的

❼ SQL語句怎麼寫

創建表插入數據:

createtabletable1
(idint,
fnamevarchar(2),
lnamevarchar(2))

insertintotable1values(1,'qw','er')
insertintotable1values絕衫(2,'ty','ui')
insertintotable1values(3,'as','df')
insertintotable1values禪羨(4,'gh','jk')
insertintotable1values(5,'lk','zx')
insertintotable1values(6,'cv','bn')

createtable賀宏拍table2
(convarchar(10),
name1int,
name2int,
name3int,
name4int,
name5int)

insertintotable2values('hang',1,2,null,null,null)
insertintotable2values('wang',null,null,3,4,5)

執行:

selectt.con,max(t.name1)+max(t.name2)+max(t.name3)+max(t.name4)+max(t.name5)name
from
(selectb.con,a.fname+a.lnamename1,''name2,''name3,''name4,''name5fromtable1a,table2bwherea.id=b.name1
unionall
selectb.con,''name1,a.fname+a.lnamename2,''name3,''name4,''name5fromtable1a,table2bwherea.id=b.name2
unionall
selectb.con,''name1,''name2,a.fname+a.lnamename3,''name4,''name5fromtable1a,table2bwherea.id=b.name3
unionall
selectb.con,''name1,''name2,''name3,a.fname+a.lnamename4,''name5fromtable1a,table2bwherea.id=b.name4
unionall
selectb.con,''name1,''name2,''name3,''name4,a.fname+a.lnamename5fromtable1a,table2bwherea.id=b.name4)t
groupbyt.con

結果:

❽ sql語句包含怎麼寫

sql語句包含可寫成:select * from table1 where field1 like 』%value1%』(所有包含『value1』這個模式的字元串)。

sql語句用於資料庫查詢和程序設計,比如查詢表中某欄位值「包含」某字元串的所有記錄的方法如下:

如果表中有一個name欄位,查詢name包含「張三」的所有記錄,就可以這樣寫:Stirng strsql="SELECT * FROM 表名 WHERE name LIKE 』%"+"張三"+"%』"。

(8)sql語句書寫擴展閱讀

sql語句包含的關聯詞

據了解,sql語句查詢某欄位值「包含於」某個字元串的所有記錄的方法如下:

如果查詢表中name欄位包含於字元串「張三是個好學生」的所有記錄,就可以這樣寫:String strsql="SELECT * FROM 表名 WHERE INSTR(』張三是個好學生』,name)>0"(記錄中的name欄位值中包括張、三、是、個、好、學、生、張三等所有記錄)。

❾ SQL語句怎麼寫

資料庫1和資料庫2都在一個mysql里吧?

不在的話,得做其他配置,讓一個mysql能訪問另一個mysql……這個我不會:D(剛才網路了下,需要在其中一個mysql里開啟Federated引擎,然後在這個mysql里創建一張表,並用Federated引擎把這個表指向另一個mysql中的對應表,然後就可以從當前mysql中訪問本地的表1和映射到本地的表2(剛剛創建的那張)了。詳細教程見CSDN文章網頁鏈接)

如果都在一個mysql里:

假設資料庫1的名稱是"database1",裡面的表名是"table1",資料庫2的名稱是"database2",裡面的表名是"table2",部門欄位名為"dept",數量欄位名為"num"

sql語句如下:

SELECT
dept,
SUM(num)
FROM
(
SELECT
database1.table1.dept,
database1.table1.num
FROM
database1.table1
UNION
SELECT
database2.table2.dept,
database2.table2.num
FROM
database2.table2
)a
GROUPBY
dept

❿ 編寫SQL語句

1,建立表
create table Employees
(
ssn varchar(50) Not null unique,
name varchar(200),
sex char(2) check (sex='男' or sex='女'),
age int check ( age>0),
Department varchar(50)
)
2,插入數據
insert into Employees (ssn,name,sex,age,department)
values('07216008','笑笑','女',24,'cs')
3,修改
update Employees set age=26 where name='笑笑' and ssn='07126008'
4,查詢
select name,sex,department from Employees
5 授權
grant select on Employees to simon with grant option

熱點內容
職場的幸福密碼是什麼 發布:2024-11-01 12:34:57 瀏覽:748
18經驗起床的伺服器ip 發布:2024-11-01 12:30:15 瀏覽:39
這個鎖屏密碼是什麼 發布:2024-11-01 12:24:51 瀏覽:92
相機存儲卡排名 發布:2024-11-01 12:24:49 瀏覽:958
androidxml格式化 發布:2024-11-01 12:23:14 瀏覽:165
Vb6編譯是錯誤不知道錯誤代碼 發布:2024-11-01 12:16:23 瀏覽:159
區域網電腦訪問伺服器怎麼提速 發布:2024-11-01 12:14:09 瀏覽:322
美創資料庫 發布:2024-11-01 12:05:45 瀏覽:916
你改愛奇藝密碼什麼意思 發布:2024-11-01 12:04:48 瀏覽:409
矩陣分解python 發布:2024-11-01 11:58:23 瀏覽:367