Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
PostgreSQLÓï·¨¡¢Á¬½Ó
 
  3767  次浏览      28
 2019-8-21
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚÔÆÉçÇø£¬±¾ÎÄÖ÷Òª¼òµ¥½éÉÜÁËPostgreSQLµÄÓï·¨¡¢ÒÔ¼°¼¸ÖÖÀàÐ͵ÄÁ¬½Ó£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£

1.Óï·¨

1.²åÈëÊý¾Ý£¨INSERTÓï¾ä£©

ÔÚPostgreSQLÖУ¬INSERT

²éѯÓÃÓÚÔÚ±íÖвåÈëÐÂÐС£ ¿ÉÒÔÒ»´Î²åÈëµ¥Ðлò¶àÐе½±íÖС£

Óï·¨£º

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
INSERT INTO EMPLOYEES( ID, NAME, AGE, ADDRESS, SALARY)
VALUES
(1, 'xsl', 23, 'ÉϺ£ÊÐÆÖ¶«', 11000.00 ),
(2, 'xlm', 22, 'ÉϺ£ÊÐãÉÐÐ', 8000.00 ),

×¢Ò⣺column1, column2, column3,...columnNÊÇÒª²åÈëÊý¾ÝµÄ±íÖеÄÁеÄÃû³Æ¡£

2.²éѯÊý¾Ý£¨SELECTÓï¾ä£©

ÔÚPostgreSQLÖУ¬SELECTÓï¾äÓÃÓÚ´ÓÊý¾Ý¿â±íÖмìË÷Êý¾Ý¡£ Êý¾ÝÒÔ½á¹û±í¸ñµÄÐÎʽ·µ»Ø¡£ ÕâЩ½á¹û±í³ÆÎª½á¹û¼¯¡£

Óï·¨£º

SELECT "column1", "column2".."column" FROM "table_name";

SELECT id,name FROM EMPLOYEES;

ÕâÀcolumn1£¬column2£¬.. columnNÖ¸¶¨¼ìË÷ÄÄЩÊý¾ÝµÄÁС£ Èç¹ûÒª´Ó±íÖмìË÷ËùÓÐ×ֶΣ¬Ôò±ØÐëʹÓÃÒÔÏÂÓï·¨£º

SELECT * FROM "table_name";

3.¸üÐÂÊý¾Ý£¨UPDATEÓï¾ä£©

ÔÚPostgreSQLÖУ¬UPDATEÓï¾äÓÃÓÚÐ޸ıíÖÐÏÖÓеļǼ¡£ Òª¸üÐÂËùÑ¡ÐУ¬Äú±ØÐëʹÓÃWHERE×Ӿ䣬·ñÔò½«¸üÐÂËùÓÐÐС£

Óï·¨£º

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

UPDATE employ
SET age = 23,salary=11000
WHERE id=1;

4.ɾ³ýÊý¾Ý£¨DELETEÓï¾ä£©

DELETEÓï¾äÓÃÓÚ´Ó±íÖÐɾ³ýÏÖÓмǼ¡£ ¡°WHERE¡±×Ó¾äÓÃÓÚÖ¸¶¨É¾³ýËùÑ¡¼Ç¼µÄÌõ¼þ£¬ÈçÊDz»Ö¸¶¨Ìõ¼þÔò½«É¾³ýËùÓмǼ¡£

Óï·¨£º

DELETE FROM table_name
WHERE [condition];

DELETE FROM EMPLOYEES
WHERE ID = 1;

5.Êý¾ÝÅÅÐò£¨ORDER BY×Ӿ䣩

PostgreSQL ORDER BY×Ó¾äÓÃÓÚ°´ÉýÐò»ò½µÐò¶ÔÊý¾Ý½øÐÐÅÅÐò¡£Êý¾ÝÔÚÒ»Áлò¶àÁеĻù´¡ÉϽøÐÐÅÅÐò¡£

Óï·¨£º

SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

²ÎÊý˵Ã÷£º

column_list£ºËüÖ¸¶¨Òª¼ìË÷µÄÁлò¼ÆËã¡£

table_name£ºËüÖ¸¶¨Òª´ÓÖмìË÷¼Ç¼µÄ±í¡£FROM×Ó¾äÖбØÐëÖÁÉÙÓÐÒ»¸ö±í¡£

WHERE conditions£º¿ÉÑ¡¡£ Ëü¹æ¶¨±ØÐëÂú×ãÌõ¼þ²ÅÄܼìË÷¼Ç¼¡£

ASC£ºÒ²ÊÇ¿ÉÑ¡µÄ¡£Ëüͨ¹ý±í´ïʽ°´ÉýÐòÅÅÐò½á¹û¼¯(ĬÈÏ£¬Èç¹ûûÓÐÐÞÊηûÊÇÌṩÕß)¡£

DESC£ºÒ²ÊÇ¿ÉÑ¡µÄ¡£ Ëüͨ¹ý±í´ïʽ°´Ë³Ðò¶Ô½á¹û¼¯½øÐÐÅÅÐò¡£

#ÉýÐòÅÅÐò - ORDER BY [field] ASC
SELECT *
FROM EMPLOYEES
ORDER BY AGE ASC;

#½µÐòÅÅÐò - ORDER BY [field] DESC
SELECT *
FROM EMPLOYEES
ORDER BY name DESC;

6.·Ö×飨GROUP BY×Ӿ䣩

PostgreSQL GROUP BY×Ó¾äÓÃÓÚ½«¾ßÓÐÏàͬÊý¾ÝµÄ±íÖеÄÕâЩÐзÖ×éÔÚÒ»Æð¡£ ËüÓëSELECTÓï¾äÒ»ÆðʹÓá£

GROUP BY×Ó¾äͨ¹ý¶à¸ö¼Ç¼ÊÕ¼¯Êý¾Ý£¬²¢½«½á¹û·Ö×éµ½Ò»¸ö»ò¶à¸öÁС£ ËüÒ²ÓÃÓÚ¼õÉÙÊä³öÖеÄÈßÓà¡£

Óï·¨£º

SELECT column-list
FROM table_name
WHERE [conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN

SELECT NAME, SUM(SALARY)
FROM EMPLOYEES
GROUP BY NAME;

×¢Ò⣺ÔÚGROUP BY¶à¸öÁеÄÇé¿öÏ£¬ÄúʹÓõÄÈκÎÁнøÐзÖ×éʱ£¬ÒªÈ·±£ÕâЩÁÐÓ¦ÔÚÁбíÖпÉÓÃ

7.Having×Ó¾ä

ÔÚPostgreSQLÖУ¬HAVING×Ó¾äÓëGROUP BY×Ó¾ä×éºÏʹÓã¬ÓÃÓÚÑ¡Ôñº¯Êý½á¹ûÂú×ãijЩÌõ¼þµÄÌØ¶¨ÐС£

Óï·¨£º

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

#ÏÔʾÃû³Æ(name)ÊýÁ¿Ð¡ÓÚ2µÄ¼Ç¼
SELECT NAME
FROM EMPLOYEES
GROUP BY NAME HAVING COUNT (NAME) < 2;

8.Ìõ¼þ²éѯ

PostgreSQLÌõ¼þµÄÁÐ±í£º

AND Ìõ¼þ

OR Ìõ¼þ

AND & OR Ìõ¼þ

NOT Ìõ¼þ

LIKE Ìõ¼þ

IN Ìõ¼þ

NOT IN Ìõ¼þ

BETWEEN Ìõ¼þ

Óï·¨£º

and Ìõ¼þ

SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition]
AND [search_condition];

SELECT *
FROM EMPLOYEES
WHERE SALARY > 120000
AND ID <= 4;

or Ìõ¼þ

SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition]
OR [search_condition];

SELECT *
FROM EMPLOYEES
WHERE NAME = 'Minsu'
OR ADDRESS = 'Noida';

and & or Ìõ¼þ

SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] AND [search_condition]
OR [search_condition];

SELECT *
FROM EMPLOYEES
WHERE (NAME = 'Minsu' AND ADDRESS = 'Delhi')
OR (ID>= 8);

not Ìõ¼þ

SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] NOT [condition];

SELECT *
FROM EMPLOYEES
WHERE address IS NOT NULL ;

SELECT *
FROM EMPLOYEES
WHERE age NOT IN(21,24) ;

LIKE Ìõ¼þ

SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] LIKE [condition];

#²éѯÃû×ÖÒÔMa¿ªÍ·µÄÊý¾Ý¼Ç¼
SELECT *
FROM EMPLOYEES
WHERE NAME LIKE 'Ma%';

#²éѯµØÖ·Öк¬ÓдóµÀµÄÊý¾Ý¼Ç¼
SELECT *
FROM EMPLOYEES
WHERE address LIKE '%´óµÀ%';

INÌõ¼þ

SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] IN [condition];

#²éѯemployee±íÖÐÄÇЩÄêÁäΪ19£¬21µÄÔ±¹¤ÐÅÏ¢
SELECT *
FROM EMPLOYEES
WHERE AGE IN (19, 21);

BETWEENÌõ¼þ

SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition] BETWEEN [condition];

#²éѯemployees±íÖÐÄêÁäÔÚ24~27Ö®¼ä(º¬24£¬27)µÄÊý¾ÝÐÅÏ¢
SELECT *
FROM EMPLOYEES
WHERE AGE BETWEEN 24 AND 27;

2.Á¬½Ó

ÔÚPostgreSQLÖУ¬ÓÐÒÔÏÂÀàÐ͵ÄÁ¬½Ó£º

ÄÚÁ¬½Ó(INNER JOIN)

×óÍâÁ¬½Ó(LEFT OUTER JOIN)

ÓÒÍâÁ¬½Ó(RIGHT OUTER JOIN)

È«Á¬½Ó(FULL OUTER JOIN)

¿çÁ¬½Ó(CROSS JOIN)

1.INNER JOIN

Óï·¨£º

SELECT table1.columns, table2.columns
FROM table1
INNER JOIN table2
ON table1.common_filed = table2.common_field;

SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
INNER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;

2.×óÍâÁ¬½Ó

×óÍâÁ¬½Ó·µ»Ø´Ó¡°ON¡±Ìõ¼þÖÐÖ¸¶¨µÄ×ó²à±íÖеÄËùÓÐÐУ¬Ö»·µ»ØÂú×ãÌõ¼þµÄÁíÒ»¸ö±íÖеÄÐС£

Óï·¨£º

SELECT table1.columns, table2.columns
FROM table1
LEFT OUTER JOIN table2
ON table1.common_filed = table2.common_field;

SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
LEFT OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;

3.ÓÒÍâÁ¬½Ó

ÓÒÍâÁ¬½Ó·µ»Ø´Ó¡°ON¡±Ìõ¼þÖÐÖ¸¶¨µÄÓÒ²à±íÖеÄËùÓÐÐУ¬Ö»·µ»ØÂú×ãÌõ¼þµÄÁíÒ»¸ö±íÖеÄÐС£

Óï·¨£º

SELECT table1.columns, table2.columns
FROM table1
RIGHT OUTER JOIN table2
ON table1.common_filed = table2.common_field;

SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
RIGHT OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;

4.È«ÍâÁ¬½Ó

FULLÍâÁ¬½Ó´ÓLEFTÊÖ±íºÍRIGHT±íÖзµ»ØËùÓÐÐС£ Ëü½«NULLÖÃÓÚ²»Âú×ãÁ¬½ÓÌõ¼þµÄλÖá£

Óï·¨£º

SELECT table1.columns, table2.columns
FROM table1
FULL OUTER JOIN table2
ON table1.common_filed = table2.common_field;

SELECT EMPLOYEES.ID, EMPLOYEES.NAME, DEPARTMENT.DEPT
FROM EMPLOYEES
FULL OUTER JOIN DEPARTMENT
ON EMPLOYEES.ID = DEPARTMENT.ID;

5.¿çÁ¬½Ó£¨CROSS JOIN£©

PostgreSQL¿çÁ¬½Ó(CROSS JOIN)½«µÚÒ»¸ö±íµÄÿһÐÐÓëµÚ¶þ¸ö±íµÄÿһÐÐÏàÆ¥Åä¡£ ËüÒ²±»³ÆÎªµÑ¿¨¶ù»ý·Ö¡£ Èç¹ûtable1¾ßÓС°x¡±ÁУ¬¶øtable2¾ßÓС°y¡±ÁУ¬ÔòËùµÃµ½µÄ±í½«¾ßÓÐ(x + y)ÁС£

Óï·¨£º

SELECT coloums
FROM table1
CROSS JOIN table2

SELECT NAME, DEPT
FROM EMPLOYEES
CROSS JOIN DEPARTMENT;

   
3767 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ