PostgreSQL 各种查询

时间:2024-11-07 14:31:34

PostgreSQL的各种查询

(···*···)这个查询比较厉害

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。

例子:

  

查询一个数据库中有哪些表?

select tablename from pg_tables where schemaname='public'

总:条件查询

SQL语言的固定形式

    SELECT + 表字段名 + FROM +数据表名+ WHERE + 筛选条件

①、条件查询通常与WHERE子句一起使用。

②、包括:

查询名字的值为Minsu和地址的值为’Delhi‘,或者ID值大于等8的记录信息,执行以下查询:


 
SELECT *  
FROM EMPLOYEES  
WHERE (NAME = 'Minsu' AND ADDRESS = 'Delhi')  
OR (ID>= 8);
  • AND 条件
  • OR 条件
  • AND & OR 条件
  • NOT 条件
  • LIKE 条件
  • IN 条件
  • NOT IN 条件
  • BETWEEN 条件

1、AND条件

 

PostgreSQL  AND 条件与WHERE子句一起使用,以从表中的多个列中选择唯一的数据。

语法:


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

查询所有ID小于4并且薪水大于120000的员工数据信息

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


2、OR条件

 

PostgreSQL OR 条件与WHERE子句一起使用,以从表中的一列或多列列中选择唯一数据。

语法


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

查询名字是Minsu或者地址为Noida员工信息,执行以下查询:


SELECT * FROM  EMPLOYEES WHERE NAME = 'minsu' OR ADDRESS = 'Paris';


3、AND & OR 条件

PostgreSQL AND&OR  条件在仅一个查询中提供了ANDOR条件的优点。

语法:


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

查询名字的值为 minsu 和地址的值为 Paris,或者ID值大于等2的记录信息,执行以下查询:


SELECT *  
FROM EMPLOYEES  
WHERE (NAME = 'minsu' AND ADDRESS = 'Paris')  
OR (ID>= 2);

在写SQL语句的时候,大小写都是可以的!都是能够运行出来的!

4、NOT条件

PostgreSQL NOT 条件与WHERE 句子一起使用以否定查询中的条件

语法:

 

 


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

判断地址不为空

 

5、LIKE条件

 

PostgreSQL LIKE 条件与WHERE 句子一起用于从指定条件满足 LIKE 条件的表中获取数据

语法;

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

Ep: 模糊查询 m 为开头的名字

select * 
from employees 
where name like 'm%' ;m%' ;

Ep: 以u 为结尾的名字查询

SELECT *   
FROM EMPLOYEES   
WHERE NAME LIKE '%sha';'%sha';

搜索大道的地址

6、IN条件

 

PostgreSQL IN条件与WHERE子句一起使用,从指定条件满足IN条件的表中获取数据。

语法:


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

查询employee表中那些年龄为1921的员工信息


7、NOT IN条件

 

PostgreSQL NOT IN条件与WHERE子句一起使用,以从指定条件否定IN条件的表中获取数据。

语法:


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

查询年龄不在21 ,25 岁的人

8、BETWEEN条件

 

PostgreSQL BETWEEN条件与WHERE子句一起使用,以从两个指定条件之间的表中获取数据。

语法:


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

年龄在0到26之间,包含0 和 26 ;

 

 

 

也可参考:/postgresql/       

是 ---》 pgAdminIII