sql語句寫法- 這個sql語句怎么寫 謝謝
如果要用一條語句查出來還是很麻煩的,上面兩個肯定不對。
select *,*um,(*um - *m) as arrivNum from table1 left outer join ( select count(*) as occuNum,roomID from table2 groupby roomID) as tem on * = * 試一下吧,肯定可用,existNum = 可住人數。
SQL語句怎么寫
分析:先在table1里計算A類貨品的總進貨量,sum(批次進貨量)
select sum(批次進貨量) as 'A類進貨量' from table 1 where 類別='A'
然后再table2里計算A類貨品的總出貨量,sum(批次出貨量)
select sum(批次出貨量) as 'A類出貨量' from table 2 where 類別='A'
這樣庫存=sum(批次進貨量)-sum(批次出貨量)
sql語句:
declare @sum_in @int,@sum_out @int,@sum_now int
select @sum_in=sum(批次進貨量) as 'A類進貨量' from table 1 where 類別='A'
select @sum_out=sum(批次出貨量) as 'A類出貨量' from table 2 where 類別='A'
select @sum_now=@sum_in-@sum_out as 'A類庫存'合成:
select A類庫存 from ((select sum(批次進貨量) from table1 where 類別='A')-(select sum(批次出貨量) from table2 where 類別='A') as 'A類庫存')這樣就完成了,原理如是,不保證可直接運行成功。同理,B類貨品也可按此步驟進行計算
改進:將分析語句寫成存儲過程。也可將分析步驟寫成VIEW。另外進貨出貨需要頻繁修改庫存,可使用觸發器。
經驗:此類實際問題表的設計不是很合理。由于庫存信息頻繁的被用到,庫存又屬于派生類屬性,所以有必要犧牲數據冗余,直接將庫存作為表的一個列名。用的時候直接選取數據信息。
sql如何查詢語句的格式怎么寫
VF常用SQL語句大全 SQL是結構化查詢語言,查詢是SQL語言的重要組成部分,但不是全部,SQL還包括數據定義,數據操縱和數據控制功能等部分。
如今SQL已成為關系數據庫的標準數據語言,所以現在的關系數據庫管理系統都支持SQL。 FOXPRO從2。
5 FOR DOS版式就開始支持SQL,現在VISUAL FOXPRO當然在之方面更加完善,以下是VF經常用到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 --定義當前事務數據訪問特征--程序化SQLDECLARE --為查詢設定游標EXPLAN --為查詢描述數據訪問計劃OPEN --檢索查詢結果打開一個游標FETCH --檢索一行查詢結果CLOSE --關閉游標PREPARE --為動態執行準備SQL 語句EXECUTE --動態地執行SQL 語句DESCRIBE --描述準備好的查詢 ---局部變量declare @id char(10)--set @id = 10010001select @id = 10010001 ---全局變量---必須以@@開頭希望對你有幫助~~~。
sql語句怎么寫
你可以參照下面的來動態寫SQL語句
假設有張學生成績表(tb)如下:姓名 課程 分數張三 語文 74張三 數學 83張三 物理 93李四 語文 74李四 數學 84李四 物理 94想變成(得到如下結果): 姓名 語文 數學 物理 李四 74 84 94張三 74 83 93create table tb(姓名 varchar(10) , 課程 varchar(10) , 分數 int)insert into tb values('張三' , '語文' , 74)insert into tb values('張三' , '數學' , 83)insert into tb values('張三' , '物理' , 93)insert into tb values('李四' , '語文' , 74)insert into tb values('李四' , '數學' , 84)insert into tb values('李四' , '物理' , 94)go--SQL SERVER 2005 靜態SQL的寫法
select * from (select * from tb) a pivot (max(分數) for 課程 in (語文,數學,物理)) b--SQL SERVER 2005 動態SQL。declare @sql varchar(8000)select @sql = isnull(@sql + '],[' , '') + 課程 from tb group by 課程set @sql = '[' + @sql + ']'exec ('select * from (select * from tb) a pivot (max(分數) for 課程 in (' + @sql + ')) b')
如何寫sql語句
沒情況沒法測試僅供給思路思路:用游標經由過程體系表每次取一個字段update表a數據一次將其它字段update成和該字段一樣的值DECLARE @fieldname varchar(200)DECLARE test CURSOR FOR select * from syscolumns ajoin sysobjects b on *=*e *='a' and *1--游標遍歷體系表查出a表所有字段,去掉落第一個字段OPEN testFETCH NEXT FROM test into @fieldnameWHILE @@FETCH_STATUS = 0BEGINupdate a set a.屬性1=b.@fieldname,a.屬性2=b.@fieldname,a.屬性n=b.@fieldnamefrom a a join a b on a.名稱=b.名稱where b.@fieldname is not null--這里可以改成經由過程體系條查出的字段名稱拼成sql如許就通用了不管該表若干個字段也不消改sql了,時光關系我不寫了.endCLOSE testDEALLOCATE test履行完后所有的屬性字段的值都是一樣的隨便取哪個字段都是你要的成果留意這段sql有前提限制名稱字段必須是該表的的第一個字段假如不是的話把colid的值改成精確的。
請教這種SQL語句如何寫
給你一個實例: select * ,* from a,b where * match * 這個sql語句不標準,informix支持, select * ,* from a,b where STRCMP(*, *) > -1 這是mysql的語法,其他數據庫不支持 select * ,* from a,b where INSTR(*,*)>0 這是oracle的語法,其他不支持。
sql常用語句寫法
1、說明:創建數據庫CREATE DATABASE database-name 2、說明:刪除數據庫drop database dbname 3、說明:備份sql server --- 創建 備份數據的 deviceUSE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_*' --- 開始 備份BACKUP DATABASE pubs TO testBack 4、說明:創建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根據已有的表創建新表: A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only 5、說明: 刪除新表:drop table tabname 6、說明: 增加一個列:Alter table tabname add column col type 注:列增加后將不能刪除。DB2中列加上后數據類型也不能改變,唯一能改變的是增加varchar類型的長度。 7、說明: 添加主鍵:Alter table tabname add primary key(col) 說明: 刪除主鍵:Alter table tabname drop primary key(col) 8、說明: 創建索引:create [unique] index idxname on tabname(col….) 刪除索引:drop index idxname 注:索引是不可更改的,想更改必須刪除重新建。 9、說明: 創建視圖:create view viewname as select statement 刪除視圖:drop view viewname 10、說明:幾個簡單的基本的sql語句 選擇: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%' ---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
請高手指點這個sql語句怎么寫
這是添加到SQL語句(寫的和你的有點不一樣):
表A
insert into tbaA values('鼠','蘋果','張')
insert into tbaA values('牛','香蕉','張')
insert into tbaA values('虎','蘋果','王')
insert into tbaA values('兔','香蕉','王')
insert into tbaA values('龍','蘋果','張')
insert into tbaA values('蛇','香蕉','王')
insert into tbaA values('馬','蘋果','王')
insert into tbaA values('羊','香蕉','張')
表B:
insert into tbaB values('蘋果','張','甲')
insert into tbaB values('香蕉','王','乙')
insert into tbaB values('蘋果','王','丙')
insert into tbaB values('香蕉','張','丁')
查詢的SQL語句:
select tblA.A,tbaB.C from tblA left join tbaB on tblA.B=tbaB.A and tblA.C=tbaB.B
希望能對你有所幫助!