sqlÖ®left join¡¢right join¡¢inner joinµÄÇø±ð
×òÌìÃæÊÔ8Ò³±ÊÊÔÌâÄ¿,»ù±¾É϶¼ÊÇSQl µÄ,ÌØ±ðÊÇÕ⼸¸öÇø±ð,¼ÇµÃ²»ÊǺÜÇåÎú,Ö»¼ÇµÃleftÊÇÒÔ×ó±íΪÖ÷±í,
rightÒÔÓÒ±íΪÖ÷±í,µ¼ÖÂ×ö´íÁ˼¸¸ö!½ñÌìËÑÁËÏÂ!×ÜËãŪÇå³þÁË!ÒÔÏÂÊÇתÌû!
left join(×óÁª½Ó) ·µ»Ø°üÀ¨×ó±íÖеÄËùÓмǼºÍÓÒ±íÖÐÁª½á×Ö¶ÎÏàµÈµÄ¼Ç¼
right join(ÓÒÁª½Ó) ·µ»Ø°üÀ¨ÓÒ±íÖеÄËùÓмǼºÍ×ó±íÖÐÁª½á×Ö¶ÎÏàµÈµÄ¼Ç¼
inner join(µÈÖµÁ¬½Ó) Ö»·µ»ØÁ½¸ö±íÖÐÁª½á×Ö¶ÎÏàµÈµÄÐÐ
¾ÙÀýÈçÏ£º
--------------------------------------------
±íA¼Ç¼ÈçÏ£º
aID¡¡¡¡¡¡¡¡¡¡aNum
1¡¡¡¡¡¡¡¡¡¡a20050111
2¡¡¡¡¡¡¡¡¡¡a20050112
3¡¡¡¡¡¡¡¡¡¡a20050113
4¡¡¡¡¡¡¡¡¡¡a20050114
5¡¡¡¡¡¡¡¡¡¡a20050115
±íB¼Ç¼ÈçÏÂ:
bID¡¡¡¡¡¡¡¡¡¡bName
1¡¡¡¡¡¡¡¡¡¡2006032401
2¡¡¡¡¡¡¡¡¡¡2006032402
3¡¡¡¡¡¡¡¡¡¡2006032403
4¡¡¡¡¡¡¡¡¡¡2006032404
8¡¡¡¡¡¡¡¡¡¡2006032408
--------------------------------------------
1.left join
sqlÓï¾äÈçÏÂ:
select * from A
left join B
on A.aID = B.bID
½á¹ûÈçÏÂ:
aID¡¡¡¡¡¡¡¡¡¡aNum¡¡¡¡¡¡¡¡¡¡bID¡¡¡¡¡¡¡¡¡¡bName
1¡¡¡¡¡¡¡¡¡¡a20050111¡¡¡¡¡¡¡¡1¡¡¡¡¡¡¡¡¡¡2006032401
......
1.oracle
sql = "SELECT column_name, data_type, data_length, nullable";
sql += " from user_tab_columns ";
sql += " where table_name='";
sql += $tableName;
sql += "'";
select * from user_tab_comments ²éѯ±íÃû¼°±í˵Ã÷£¨comment)
select * from user_col_comments ²éѯ±í¼°±íÖÐ×ֶεÄ˵Ã÷
2.sql server
select name,xtype,length,isnullable from syscolumns
where id =(select top 1 Id from sysobjects where name = '±íÃû');
sql = "select name,xtype,length,isnullable from syscolumns where id =";
sql += " (select top 1 Id from sysobjects where name = '";
sql += $tableName;
sql += "')";
3.my sql
sql = "show columns from ";
sql += $tableName;
»ò
sq ......
ÍøÕ¾£ºhttp://werysoft.com/
Èç¹ûÄú±ØÐë¹ÜÀí»·¾³ÖеĶàÖÖÀàÐ͵ÄÊý¾Ý¿â·þÎñÆ÷£¬ÔòʹÓü¯ÖÐʽ¹¤¾ßµ÷ÕûËùÓÐÊý¾Ý¿â¿ÉÄÜ»á±È½Ï·½±ã¡£Werysoft µÄ QweryBuilder Ö¼ÔÚΪÄúÌṩ´ËÏÄÜ¡£Äú¿ÉÒÔʹÓÃËü´Óͬһ GUI Á¬½Óµ½ Microsoft SQL Server¡¢Sybase ASE¡¢SQL Anywhere ºÍ Oracle ʵÀý£¬È»ºó²é¿´¡¢´´½¨¡¢¸üкÍɾ³ýÊý¾Ý¿â½Å±¾¡¢¼Ü¹¹¶ÔÏóºÍÊý¾Ý¡£
QweryBuilder ±¾ÖÊÉÏÊÇÒ»ÖÖ SQL ½Å±¾¹¤¾ß£¬¶ø²»ÊÇÓÃÓÚ·þÎñÆ÷¹ÜÀíµÄ¹¤¾ß¡£Òª¿ªÊ¼¹¤×÷£¬Äú±ØÐëÊ×ÏÈ×¢²áÏ£ÍûÁ¬½Óµ½µÄ·þÎñÆ÷ʵÀý¡£×¢²áµÄ·þÎñÆ÷ÏÔʾÔÚ UI ×ó²à´°¸ñµÄÊ÷ÊÓͼÖС£ÔÚÓÒ²àÖ÷񻂿Óò£¨¹¤×÷ÇøÓò£©ÖУ¬¶à¸öÑ¡Ï±£´æ¸÷ÖÖ²éѯ½á¹û»òÆäËû¹¤¾ß½á¹û¡£ÈôÒª²é¿´¼Ü¹¹¶ÔÏóµÄÄÚÈÝ£¬ÄúÖ»Ðèä¯ÀÀµ½¸ÃÊ÷ÊÓͼ£¬È»ºóµ¥»÷¸Ã¶ÔÏó¡£µ¥»÷±í»áÉú³É±í¶¨ÒåºÍ¿ÉÄÜÊÊÓõÄÈκÎÔ¼Êø¡£Í¬Ñù£¬´æ´¢¹ý³Ì¡¢º¯Êý¡¢´¥·¢Æ÷ºÍÊÓͼ¿ÉΪÄúÌṩ drop Óï¾äÒÔ±ãÇáËɸüжÔÏó¡£
QweryBuilder °üº¬Ðí¶àÓÐÖúÓÚʹÄúµÄ¹¤×÷¸ü¼ÓÇáËɵÄÓÐȤ¹¤¾ßºÍ¿ì½Ý·½Ê½¡£Ö¸ÏòÊý¾Ý¿âÖеÄÁ½¸ö¶ÔÏóʱ£¬“¿É¼û²îÒ씿ì½Ý·½Ê½ÏÔʾËüÃÇÖ®¼äµÄÇø±ð¡£ËüʹÓÃÁíÒ»¸öÃûΪ WinMerge µÄÃâ·Ñ¹¤¾ß¡££¨ÔçÔÚ 2006 Ä꣬¸Ã¹¤¾ß¾Í·Ç³£Á÷ÐУ¬ÍøÖ·Îª http://winmerge.org£©¡£“×Ô¶¯Ì×Óøñʽ”¹¤¾ß½ ......
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Xml;
using System.Data;
namespace MyDbTest
{
class Program
{
static void Main(string[] args)
{
SqlConnection thisConnection = new SqlConnection(
@"Data Source=localhost;Initial Catalog=CSGL;Persist Security Info=True;User ID=test;Password=test");
thisConnection.Open();
SqlCommand myCommand = new SqlCommand("P_Test", thisConnection);
myCommand.CommandType = CommandType.StoredProcedure;
//Ìí¼ÓÊäÈë²éѯ²ÎÊý¡¢¸³ÓèÖµ
myCommand.Parameters.Add("@id", SqlDbType.Int);
myCommand.Parameters["@id"].Value = "120";
//Ìí¼ÓÊä³ö²ÎÊý
myCommand.Parameters.Add("@Rowcount", SqlDbType.Int);
myCommand.Parameters["@Rowcount"].Direction = ParameterDirection.Output;
myCommand.ExecuteNonQuery();
//µÃµ½´æ´¢¹ý³ÌÊä³ö²ÎÊý
Console.WriteLine(" ´æ´ ......
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Xml;
using System.Data;
namespace MyDbTest
{
class Program
{
static void Main(string[] args)
{
SqlConnection thisConnection = new SqlConnection(
@"Data Source=localhost;Initial Catalog=CSGL;Persist Security Info=True;User ID=test;Password=test");
thisConnection.Open();
SqlCommand myCommand = new SqlCommand("P_Test", thisConnection);
myCommand.CommandType = CommandType.StoredProcedure;
//Ìí¼ÓÊäÈë²éѯ²ÎÊý¡¢¸³ÓèÖµ
myCommand.Parameters.Add("@id", SqlDbType.Int);
myCommand.Parameters["@id"].Value = "120";
//Ìí¼ÓÊä³ö²ÎÊý
myCommand.Parameters.Add("@Rowcount", SqlDbType.Int);
myCommand.Parameters["@Rowcount"].Direction = ParameterDirection.Output;
myCommand.ExecuteNonQuery();
//µÃµ½´æ´¢¹ý³ÌÊä³ö²ÎÊý
Console.WriteLine(" ´æ´ ......
SQL Server 2000 µÄϵͳÊý¾Ý¿â
SQL Server 2000·þÎñÆ÷°²×°ºó»á½¨Á¢4ϵͳÊý¾Ý¿â¡£·Ö±ðÊÇmaster¡¢model¡¢msdb¡¢tempdb¡£
1¡¢masterÊý¾Ý¿â
masterÊý¾Ý¿âÊÇSQL Server 2000ÖÐ×îÖØÒªµÄÊý¾Ý¿â£¬¼Ç¼ÁËSQL Server 2000µÄ·þÎñÆ÷¼¶ÏµÍ³ÐÅÏ¢£¬°üÀ¨ËùÓÐÕË»§ºÍÃÜÂ룬´ÅÅ̿ռ䡢Îļþ·ÖÅäºÍʹÓá¢ÏµÍ³¼¶µÄÅäÖòÎÊý¡¢³õʼ»¯ÐÅÏ¢ºÍÆäËûÊý¾Ý¿âµÄÐÅÏ¢µÈ¡£ÓÉÓÚmasterÊý¾Ý¿â¶ÔSQL Server 2000µÄÖØÒªÐÔ£¬ËùÒÔ½¨Òé²»ÒªÖ±½ÓÐ޸ģ¬¿Éͨ¹ýϵͳ´æ´¢¹ý³ÌÀ´Ö´ÐС£
2¡¢modelÊý¾Ý¿â
modelÊý¾Ý¿â´æ´¢ÁËËùÓÐÓû§Êý¾Ý¿âºÍtempdbÊý¾Ý¿âµÄÄ£°å¡£Ëü°üº¬½«Òª¸´ÖƵ½Ã¿¸öÓû§Êý¾Ý¿âÖÐÈ¥µÄϵͳ±í¡£
3¡¢msdbÊý¾Ý¿â
msdbÊý¾Ý¿âÖ÷Òª±»SQL Server 2000´úÀí·þÎñÓÃÀ´½øÐи´ÖÆ¡¢ÈÎÎñµ÷¶È¼°ÒÔ¹ÜÀí¾¯±¨µÈ»î¶¯¡£
4¡¢tempdbÊý¾Ý¿â
tempdbÊý¾Ý¿âÊÇÒ»¸öÁÙʱÊý¾Ý¿â£¬ËüΪËùÓеÄÁÙʱ±í¡¢ÁÙʱ´æ´¢¹ý³ÌÒÔ¼°ÆäËûµÄÁÙʱ²Ù×÷Ìṩ¿Õ¼ä¡£SQL Server 2000·þÎñÆ÷µÄÖØÐÂÆô¶¯¶¼»áÖØÐ½¨Á¢tempdbÊý¾Ý¿â¡£Ò²¾ÍÊÇ˵£¬tempdbÊý¾Ý¿âµÄÊý¾ÝÊÇÔÝʱµÄ£¬Ã¿´ÎÖØÆô¶¼»áµ¼ÖÂÒÔǰÊý¾ÝµÄ¶ªÊ§¡£ ......
̽ÌÖÈçºÎÔÚÓÐ×Å1000ÍòÌõÊý¾ÝµÄMS SQL SERVERÊý¾Ý¿âÖÐʵÏÖ¿ìËÙµÄÊý¾ÝÌáÈ¡ºÍÊý¾Ý·ÖÒ³¡£ÒÔÏ´úÂë˵Ã÷ÁËÎÒÃÇʵÀýÖÐÊý¾Ý¿âµÄ“ºìÍ·Îļþ”Ò»±íµÄ²¿·ÖÊý¾Ý½á¹¹£º
CREATE TABLE [dbo].[TGongwen] ( --TGongwenÊǺìÍ·Îļþ±íÃû
[Gid] [int] IDENTITY (1, 1) NOT NULL ,
--±¾±íµÄidºÅ£¬Ò²ÊÇÖ÷¼ü
[title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,
--ºìÍ·ÎļþµÄ±êÌâ
[fariqi] [datetime] NULL ,
--·¢²¼ÈÕÆÚ
[neibuYonghu] [varchar] (70) COLLATE Chinese_PRC_CI_AS NULL ,
--·¢²¼Óû§
[reader] [varchar] (900) COLLATE Chinese_PRC_CI_AS NULL ,
--ÐèÒªä¯ÀÀµÄÓû§¡£Ã¿¸öÓû§ÖмäÓ÷ָô·û“,”·Ö¿ª
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
¡¡¡¡ÏÂÃæ£¬ÎÒÃÇÀ´ÍùÊý¾Ý¿âÖÐÌí¼Ó1000ÍòÌõÊý¾Ý£º
declare @ ......