Ò»¸öÌâÄ¿Éæ¼°µ½µÄ50¸öSqlÓï¾ä
×ªÔØËµÃ÷£º¸øÕýÔÚ×öϵͳºÍÏë×öϵͳµÄÈË£¬SQL²©´ó¾«ÉÄãÃÇ»áÓõ½µÄ¡£——mAysWINd
Ò»¸öÌâÄ¿Éæ¼°µ½µÄ50¸öSqlÓï¾ä
Student(S#,Sname,Sage,Ssex) ѧÉú±í
Course(C#,Cname,T#) ¿Î³Ì±í
SC(S#,C#,score) ³É¼¨±í
Teacher(T#,Tname) ½Ìʦ±í
ÎÊÌ⣺
1¡¢²éѯ“001”¿Î³Ì±È“002”¿Î³Ì³É¼¨¸ßµÄËùÓÐѧÉúµÄѧºÅ£»
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
from SC where C#='002') b
where a.score>b.score and a.s#=b.s#;
2¡¢²éѯƽ¾ù³É¼¨´óÓÚ60·ÖµÄͬѧµÄѧºÅºÍƽ¾ù³É¼¨£»
select S#,avg(score)
from sc
group by S# having avg(score) >60;
3¡¢²éѯËùÓÐͬѧµÄѧºÅ¡¢ÐÕÃû¡¢Ñ¡¿ÎÊý¡¢×ܳɼ¨£»
select Student.S#,Student.Sname,count(SC.C#),sum(score)
from Student left Outer join SC on Student.S#=SC.S#
group by Student.S#,Sname
4¡¢²éѯÐÕ“ÀÄÀÏʦµÄ¸öÊý£»
select count(distinct(Tname))
from Teacher
where Tname like 'Àî%';
5¡¢²éѯûѧ¹ý“Ҷƽ”ÀÏʦ¿ÎµÄͬѧµÄѧºÅ¡¢ÐÕÃû£»
select Student.S#,Student.Sname
from Student
where S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='Ҷƽ');
6¡¢²éѯѧ¹ý“001”²¢ÇÒҲѧ¹ý±àºÅ“002”¿Î³ÌµÄͬѧµÄѧºÅ¡¢ÐÕÃû£»
select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002');
7¡¢²éѯѧ¹ý“Ҷƽ”ÀÏʦËù½ÌµÄËùÓпεÄͬѧµÄѧºÅ¡¢ÐÕÃû£»
select S#,Sname
from Student
where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='Ҷƽ' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='Ҷƽ'));
8¡¢²éѯ¿Î³Ì±àºÅ“002”µÄ³É¼¨±È¿Î³Ì±àºÅ“001”¿Î³
Ïà¹ØÎĵµ£º
A¡£
SQLÓï¾äµÄ²¢¼¯UNION£¬½»¼¯JOIN(ÄÚÁ¬½Ó£¬ÍâÁ¬½Ó)£¬½»²æÁ¬½Ó(CROSS
JOINµÑ¿¨¶û»ý)£¬²î¼¯(NOT IN)
1.
a. ²¢¼¯UNION
SELECT column1, column2 from table1
UNION
SELECT column1, column2 from table2
b. ½»¼¯JOIN
SELECT * from table1 AS a JOIN table2 b ON a.name=b.name
c. ²î¼¯NOT IN
SELECT * from tabl ......
--ÐÐÁл¥×ª
/******************************************************************************************************************************************************
ÒÔѧÉú³É¼¨ÎªÀý×Ó£¬±È½ÏÐÎÏóÒ×¶®
ÕûÀíÈË£ºÖйú·ç(Roy)
ÈÕÆÚ:2008.06.06
***************************************************************** ......
ORACLE PL/SQLÓëSQL SERVER T-SQLһЩ±È½Ï
×Ö·û´®Á¬½Ó
OracleÓÃ|| ·ûºÅ×÷ΪÁ¬½Ó·û£¬¶øSQL ServerµÄÁ¬½Ó·ûÊǼӺţº+ ¡£
Oracle²éѯÈçÏÂËùʾ£ºSelect ‘Name’ || ‘Last Name’ from tableName
SQL Server²éѯÈçÏ£ºSelect ‘Name’ + ‘Last Name’
GUID
OracleÓÃSYS_GUID ......
SQL Server 2008ÆóÒµ°æ. SQL Server 2008ÆóÒµ°æÊÇÒ»¸öÈ«ÃæµÄÊý¾Ý¹ÜÀíºÍÒµÎñÖÇÄÜÆ½Ì¨£¬Îª¹Ø¼üÒµÎñÓ¦ÓÃÌṩÁËÆóÒµ¼¶µÄ¿ÉÀ©Õ¹ÐÔ¡¢Êý¾Ý²Ö¿â¡¢°²È«¡¢¸ß¼¶·ÖÎöºÍ±¨±íÖ§³Ö¡£ÕâÒ»°æ±¾½«ÎªÄãÌṩ¸ü¼Ó¼á¹ÌµÄ·þÎñÆ÷ºÍÖ´Ðдó¹æÄ£ÔÚÏßÊÂÎñ´¦Àí¡£
SQL Server 2008±ê×¼°æ. SQL Server 2008±ê×¼°æÊÇÒ»¸öÍêÕûµÄÊý¾Ý¹ÜÀíºÍÒµÎñÖÇÄÜÆ½Ì¨£¬Îª²¿ ......
¾µäSQLÓï¾ä
1¡¢ËµÃ÷£º¸´ÖƱí(Ö»¸´Öƽṹ,Ô´±íÃû£ºa бíÃû£ºb) (Access¿ÉÓÃ)
·¨Ò»£ºselect * into b from a where 1<>1
//a±ØÐëÊÇÒѾ´æÔÚµÄ±í£¬µ«ÊÇb¿ÉÒÔ²»´æÔÚ£¬µ±b²»´æÔÚʱ£¬ÏµÍ³»á×Ô¼º´´½¨±íb,¸Ã·½·¨Ö»»á¸´ÖƱíµÄ½á¹¹£¬¶ø²»»á¸´ÖƱíµÄÊý¾Ý
·¨¶þ£ºselect top 0 * int ......