¡¾×ª¡¿´ø´æÔÚÁ¿´ÊNOT EXISTSµÄSQLÓï¾äÎÊÌâ
´ø´æÔÚÁ¿´ÊNOT EXISTSµÄSQLÓï¾äÎÊÌâ
ѧÉú±ístudent (snoѧºÅ snameÐÕÃû sdeptËùÔÚϵ)
¿Î³Ì±ícourse (cno¿Î³ÌºÅ cname¿Î³ÌÃû cpnoÑ¡Ð޿κŠccreditѧ·Ö)
ѧÉúÑ¡¿Î±ísc (sn0ѧºÅ cno¿Î³ÌºÅ grade³É¼¨)
¶ÔÒÔÉÏ±í½øÐвéѰѡÐÞÁËÈ«²¿¿Î³ÌµÄѧÉúÐÕÃû
ÓÉÓÚ²»£¬Ã»ÓÐÈ«³ÆÁ¿´Ê£¬¿É½«ÌâÄ¿µÄÒâ˼ת»»ÎªµÈ¼ÛµÄ´æÔÚÁ¿´ÊÐÎʽ£º²éѯÕâÑùµÄѧÉú£¬Ã»ÓÐÒ»ÃſγÌÊÇËû²»Ñ¡ÐÞµÄ
select sname
from student
where not exists
(select *
from course
where not exists
(select *
from sc
where sno=student.sno and cno=course.cno)) ´ËÐеÄÄÚ²¿ÔËÐз½Ê½ÊÇÔõÑùµÄ£¿ÊÇÏÈÕÒ³öÒ»¸öѧÉúµÄѧºÅ£¬Ôڿγ̱íÖÐÒ»ÃÅ¿ÎÒ»ÃſεØÕÒ£¬ÕÒµ½Ò»ÃÅ¿ÎÒÔºó¾ÍÏòÏÂÕÒ£¬Ö±µ½ÕÒµ½Ò»ÃÅËûûÓÐѧϰµÄ¿Î»ò¿Î³Ì±íµÄ×îºóÒ»ÃſβŽ«ÏàÓ¦µÄ½á¹û·µ»ØÕæ»ò¼ÙÂð£¿
ÓÖÒ»ÎÊÌ⣬µ¥ËµÄÚ²ã²éѯ£¬ÊÇÕÒËûѧÁËÈ«²¿¿Î³ÌÒÔºó¸Ã²éѯӦµ±ÎªÕ滹ÊǼ٣¿¾¹ýnot existsÒÔºóÓÖÏòÉϼ¶²éѯ·µ»ØÕ滹ÊǼ٣¿
ΪʲôÓÐÕâÑùµÄÎÊÌâÄØ£¿ÒòΪÎÒµÄÅжÏ(µ±È»ÊÇ´íÎóµÄÁË)Êǵ±ÕÒµ½ÁËѧϰȫ²¿¿Î³ÌµÄѧÉúÒԺ󣬷µ»ØÁ˼٣¬ÕâËÆºõÊÇÔÚÕÒûÓÐÑ¡ÐÞÈ«²¿¿Î³ÌµÄѧÉú£¬×îÖÕÓ¦µ±½«½á¹ûÈ¡·´²ÅÄܵõ½Ñ¡ÐÞÁËÈ«²¿¿Î³ÌµÄѧÉúµÄѧºÅ¡£
ÎÒµÄÂß¼¹ØÏµÒѾÂÒÁË£¬ËùÒÔÏ£ÍûÖ¸µãÎҵĸßÈË˵ϸһµã£¬½âÊ͵ØÍ¸³¹Ò»µã£¬Ð»Ð»ÁË
ÍøÓѻشð:
ÍøÓÑ£ºw_rose
“È«³ÆÁ¿´Ê”ºÜ×ÔÈ»µØÐèҪת»»Îªnot existsÀ´´¦Àí¡£Âß¼±í´ïÖУ¬²»ÐèÒª“È«³ÆÁ¿´Ê”£¬Ö»±í´ï“ºÎÎï´æÔÚ”¾Í¿ÉÒÔÁË¡£any xxxµÈ¼ÛÓÚexist xxxµÄ“ì¶Ü¾ä×Ó±»·ñ¶¨”¡£Âß¼ÖУ¬Èç¹ûÈ¥µôÏÔʽµÄ“È«³ÆÁ¿´Ê”£¬¿ÉÒÔ±ÜÃâºÜ¶à¿Õ¶´¡¢º¬ºýµÄÃèÊöÐÎʽ¡£
“ѧÉúxÑ¡ÐÞÁËÈ«²¿¿Î³Ì”£¬×ª»»ÎªÒÔÏÂÕâ¸ö²éѯ±»·ñ¶¨¡£Õâ¸ö²éѯ¾ÍÊÇ£º´æÔڿγÌy£¬xûÓÐÑ¡ÐÞy¡£
Á˽âÁËÂß¼ºÒ壬¹ØÓÚËùν“ÄÚ²¿ÔËÐз½Ê½”¾Í±È½ÏºÃ˵ÁË¡£ÕâÊÇ“Ïà¹Ø×Ó²éѯ”£¬¼´ÄÚ²ãµÄ²éѯ¹ØÁªÍâ²ã²éѯµÄ½á¹û£¬ËùÒÔ²éѯ¹æ»®Ê×ÏÈÊǶÔÍâ²ã½øÐвéѯ£¬È»ºóÔÙ´¦ÀíÄÚ²ãµÄÆ¥Åä¼Ç¼¡£Ï൱ÓÚÒÔÏÂα´úÂ룺
for each x in student
if ÅжÏѧÉú(x) then print x
next
function ÅжÏѧÉú(x)
for each y in course
if exists select (* from sc where ѧÉú=x and ¿Î³Ì=y) return false
next
return true
end function
×î³õibm¿ª·¢µÄsqlÖ»ÓÐexistsºÍnot existsÏà¹Ø×Ó²éѯ²¢ÇÒÈÏΪ×ã¹»ÁË£¬ÒÔ
Ïà¹ØÎĵµ£º
¶øÕâһƪÖУ¬ÎÒÃǾÍÎ§ÈÆSQLÓÅ»¯À´¿ªÊ¼Õâ´Î½²½â£¬ÎªÊ²Ã´µÚÒ»½²ÒªËµSQLÓÅ»¯£¿ÒòΪÎÒÈÏΪÕâÊdzÌÐòÔ±µÄ»ù±¾¹¦£¬¶øÇÒÒ²ÊÇÎÒÃDZØÐëÒªÈ¥ÕÆÎյģ¬ËäÈ»ÄãдµÄ SQLÓï¾äÄÜÍê³ÉÏàÓ¦µÄ¹¦ÄÜ£¬µ«ÊÇÄãÊÇ·ñ¿¼ÂǹýÕâЩÓï¾äÅöµ½º£Á¿Êý¾Ý»òÕß±©Á¦·ÃÎÊʱ»á²»»á´øÀ´Ð§ÂʵĴó·ù¶ÈµÄ¼õÂý£¿Ò²ÐíºÜ¶à³ÌÐòÔ±ºÍÎÒÒ»ÑùÔÚÅöµ½ÏµÍ³ÏìÓ¦Ê ......
ÒªµÃµ½Ä³Ò»ÌìÊÇÐÇÆÚ¼¸£¬ÐèÒªÓõ½ SQL Server ÖеÄÈÕÆÚº¯Êý£ºdatename()¡£ ½ñÌìÊÇÐÇÆÚ¼¸£¬Àý×Ó 1£º 1: set language N'English'
2: select datename(weekday, getdate())
3:
4: Wednesday
½ñÌìÊÇÐÇÆÚ¼¸£¬Àý×Ó 2£º
1: set language N'Simplified Chinese'
......
·ÅÔÚÕâÀﱸÍü,ÀÏÊÇÍü¼ÇÔõôд¡£
mysql> create database book;
mysql> use book;
Database changed
mysql> create table email_message(key_mail_messages INTEGER,
-> date_created VARCHAR(19),
-> date_updated varchar(19),
-> date_email varchar(19),
-> addr_from va ......
±¾ÎÄ×ªÔØ: http://hi.baidu.com/%D2%BB%C6%F0%C8%A5%CC%DF%C7%F2/blog/item/802027355899fe83a61e12ee.html
ʹÓÃSQLQuery
¶ÔÔÉúSQL²éѯִÐеĿØÖÆÊÇͨ¹ýSQLQuery½Ó¿Ú½øÐеģ¬Í¨¹ýÖ´ÐÐSession.createSQLQuery
()
»ñÈ¡Õâ¸ö½Ó¿Ú¡£×î¼òµ¥µÄÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔ²ÉÓÃÒÔÏÂÐÎʽ£º
List
cats
=
sess.createSQLQuery
(
......