liq to sql union
Union All/Union/Intersect²Ù×÷
ÊÊÓó¡¾°£º¶ÔÁ½¸ö¼¯ºÏµÄ´¦Àí£¬ÀýÈç×·¼Ó¡¢ºÏ²¢¡¢È¡ÏàͬÏî¡¢ÏཻÏîµÈµÈ¡£
Concat£¨Á¬½Ó£©
˵Ã÷£ºÁ¬½Ó²»Í¬µÄ¼¯ºÏ£¬²»»á×Ô¶¯¹ýÂËÏàͬÏÑÓ³Ù¡£
1.¼òµ¥ÐÎʽ£º
var q = (
from c in db.Customers
select c.Phone
).Concat(
from c in db.Customers
select c.Fax
).Concat(
from e in db.Employees
select e.HomePhone
);
Óï¾äÃèÊö£º·µ»ØËùÓÐÏû·ÑÕߺ͹ÍÔ±µÄµç»°ºÍ´«Õæ¡£
2.¸´ºÏÐÎʽ£º
var q = (
from c in db.Customers
select new {Name = c.CompanyName, c.Phone}
).Concat(
from e in db.Employees
select new {Name = e.FirstName + " " + e.LastName, Phone = e.HomePhone}
);
Óï¾äÃèÊö£º·µ»ØËùÓÐÏû·ÑÕߺ͹ÍÔ±µÄÐÕÃûºÍµç»°¡£
Union£¨ºÏ²¢£©
˵Ã÷£ºÁ¬½Ó²»Í¬µÄ¼¯ºÏ£¬×Ô¶¯¹ýÂËÏàͬÏÑÓ³Ù¡£¼´Êǽ«Á½¸ö¼¯ºÏ½øÐкϲ¢²Ù×÷£¬¹ýÂËÏàͬµÄÏî¡£
var q = (
from c in db.Customers
select c.Country
).Union(
from e in db.Employees
select e.Country
);
Óï¾äÃèÊö£º²éѯ¹Ë¿ÍºÍÖ°Ô±ËùÔڵĹú¼Ò¡£
Intersect£¨Ïཻ£©
˵Ã÷£ºÈ¡ÏཻÏÑÓ³Ù¡£¼´ÊÇ»ñÈ¡²»Í¬¼¯ºÏµÄÏàͬÏ½»¼¯£©¡£¼´ÏȱéÀúµÚÒ»¸ö¼¯ºÏ£¬ÕÒ³öËùÓÐΨһµÄÔªËØ£¬È»ºó±éÀúµÚ¶þ¸ö¼¯ºÏ£¬²¢½«Ã¿¸öÔªËØÓëÇ°ÃæÕÒ³öµÄÔªËØ×÷¶Ô±È£¬·µ»ØËùÓÐÔÚÁ½¸ö¼¯ºÏÄÚ¶¼³öÏÖµÄÔªËØ¡£
var q = (
from c in db.Customers
select c.Country
).Intersect(
from e in db.Employees
select e.Country
);
Óï¾äÃèÊö£º²éѯ¹Ë¿ÍºÍְԱͬÔڵĹú¼Ò¡£
Except£¨Óë·Ç£©
˵Ã÷£ºÅųýÏཻÏÑÓ³Ù¡£¼´ÊÇ´Óij¼¯ºÏÖÐɾ³ýÓëÁíÒ»¸ö¼¯ºÏÖÐÏàͬµÄÏî¡£ÏȱéÀúµÚÒ»¸ö¼¯ºÏ£¬ÕÒ³öËùÓÐΨһµÄÔªËØ£¬È»ºóÔÙ±éÀúµÚ¶þ¸ö¼¯ºÏ£¬·µ»ØµÚ¶þ¸ö¼¯ºÏÖÐËùÓÐδ³öÏÖÔÚÇ°ÃæËùµÃÔªËØ¼¯ºÏÖеÄÔªËØ¡£
var q = (
from c in db.Customers
select c.Country
).Except(
from e in db.Employees
select e.Country
);
Óï¾äÃèÊö£º²éѯ¹Ë¿ÍºÍÖ°Ô±²»Í¬µÄ¹ú¼Ò¡£
Top/Bottom²Ù×÷
ÊÊÓó¡¾°£ºÊÊÁ¿µÄÈ¡³ö×Ô¼ºÏëÒªµÄÊý¾Ý£¬²»ÊÇÈ«²¿È¡³ö£¬ÕâÑùÐÔÄÜÓÐËù¼ÓÇ¿¡£
Take
˵Ã÷£º»ñÈ¡¼¯ºÏµÄǰn¸öÔªËØ£»ÑÓ³Ù¡£¼´Ö»·µ»ØÏÞ¶¨ÊýÁ¿µÄ½á¹û¼¯¡£
var q
Ïà¹ØÎĵµ£º
1. ¶¨ÒåÓα궨Òå
ÓαêÓï¾äµÄºËÐÄÊǶ¨ÒåÁËÒ»¸öÓαê±êʶÃû£¬²¢°ÑÓαê±êʶÃûºÍÒ»¸ö²éѯÓï¾ä¹ØÁªÆðÀ´¡£DECLAREÓï¾äÓÃÓÚÉùÃ÷Óα꣬Ëüͨ¹ýSELECT²éѯ¶¨ÒåÓÎ±ê´æ´¢µÄÊý¾Ý¼¯ºÏ¡£Óï¾ä¸ñʽΪ£º
DECLARE ÓαêÃû³Æ [INSENSITIVE] [SCROLL]
CURSOR FOR selectÓï¾ä
[FOR{READ ONLY|UPDATE[OF ÁÐÃû×Ö±í]}]
²ÎÊý˵Ã÷£º
INSENS ......
ÔÚÊý¾Ý¿âÖУ¬ÓαêÊÇÒ»¸öÊ®·ÖÖØÒªµÄ¸ÅÄî¡£ÓαêÌṩÁËÒ»ÖÖ¶Ô´Ó±íÖмìË÷³öµÄÊý¾Ý½øÐвÙ×÷µÄÁé»îÊֶΣ¬¾Í±¾ÖʶøÑÔ£¬Óαêʵ¼ÊÉÏÊÇÒ»ÖÖÄÜ´Ó°üÀ¨¶àÌõÊý¾Ý¼Ç¼µÄ½á¹û¼¯ÖÐÿ´ÎÌáȡһÌõ¼Ç¼µÄ»úÖÆ¡£Óαê×ÜÊÇÓëÒ»ÌõT_SQL Ñ¡ÔñÓï¾äÏà¹ØÁª£¬ÒòΪÓαêÓɽá¹û¼¯£¨¿ÉÒÔÊÇÁãÌõ¡¢Ò»Ìõ»òÓÉÏà¹ØµÄÑ¡ÔñÓï¾ä¼ìË÷³öµÄ¶àÌõ¼Ç¼£©ºÍ½á¹û¼¯ÖÐÖ¸ ......
SQLÓï¾äÓÅ»¯£º
(1)¿ÉÒÔ¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐëдÔÚWHERE×Ó¾äµÄĩβ.
(2)SELECT×Ó¾äÖбÜÃâʹÓà ‘ * ‘
(3)¼õÉÙ·ÃÎÊÊý¾Ý¿âµÄ´ÎÊý
·½·¨3 (¸ßЧ)?
SELECT A.EMP_NAME , A.SALARY , A.GRADE,
B.EMP_NAME , B.SALARY , B.GRADE
from EMP A,EMP B
WHERE A.EMP_NO = 342
AND B.EMP_NO = 291;
( ......
×öÊý¾Ý¿âµ÷ÓÅ£¬Ò»¸ö¼òµ¥µÄtip¾ÍʹÐÔÄÜÌáÉýÒ»´ó¿éʱ£¬±»°ïÖúµÄÈË×ÔÈ»ÊǸßÐ˶øÇҸм¤£¬ÎÒÒ²ÊÇÂúÐÄ»¶Ï²¡£ÓÃËùѧ°ïÖúÁËËûÈË£¬Ò²ËµÃ÷»¹ÊÇÓÐÒ»¼¼Ö®³¤µÄ£¬ÓÐÒ»ÃÅÄܹ»Ñø»î×Ô¼ºµÄÊÖÒÕ¡£Ò²ËãÊÇÊÖÒÕÈ˰¡¡£
ͬÊÂÈÃÎÒ°ïÖúÓÅ»¯£¬ÔÚslow query logÀï·¢ÏÖÓÐÁ½¸öSQLÖ´ÐеĴÎÊý×î¶à£¬²¢ÇÒÿ´Î¶¼ÔÚÁ½ÃëÒÔÉÏ¡£ÓÃexplain¿´ÁË£¬Ò²Î´·¢ÏÖË÷ÒýʹÓ÷ ......
¾µäSQLÓï¾ä´óÈ«
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
¡¡¡¡SQL·ÖÀࣺ
¡¡¡¡DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
¡¡¡¡DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
¡¡¡¡DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
¡¡¡¡Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
¡¡ ......