数据库查询语句是数据库管理中的核心操作,用于检索和提取所需数据。在SQL(结构化查询语言)中,这些查询通常由SELECT语句构建。以下是一些常见的查询示例,适用于初学者理解和学习:
1. **基本选择查询**:
```sql
select au_id 作者编号,au_fname+'•'+au_lname as 作者姓名
from authors;
```
这个查询用于获取`authors`表中所有作者的作者编号和姓名。`as`关键字用于重命名列的显示名称。
2. **添加前缀**:
```sql
select '身份证号:'+ au_id 作者编号,au_fname+'•'+au_lname as 作者姓名
from authors;
```
在这个查询中,我们向作者编号列添加了字符串“身份证号:”作为前缀,以便更好地理解显示的信息。
3. **条件查询**:
```sql
select au_fname+'•'+au_lname as 作者姓名,city as 城市,state 州
from authors
WHERE state='CA';
```
这个查询返回在加利福尼亚州(CA)的所有作者的姓名、城市和州。
4. **日期范围查询**:
```sql
select title as 书名,pubdate 出版日期
from titles
WHERE pubdate between '1991-1-1' and '1991-12-31';
```
这个例子展示了如何根据日期范围查询数据,这里查找1991年出版的所有书籍的书名和出版日期。
5. **分组查询**:
```sql
select title as 书名,pub_id 出版社编号
from titles;
```
此查询返回每个出版社出版的所有书籍的书名和出版社编号,但没有进行任何特定的分组。
6. **关联查询**:
```sql
select stor_id as 书店编号,title_id 书的编号,qty 书的数量
from Sales;
```
通过`Sales`表,我们可以查询每个书店销售的每本书的数量。
7. **条件过滤**:
```sql
select title_id as 书的编号,title as 书名,type as 类型,price as 价格,Ytd_sales 年销售量
from titles
WHERE Ytd_sales IS NOT NULL;
```
这个查询选取有年销售量记录的所有书籍的详细信息。
8. **否定条件查询**:
```sql
select title_id as 书的编号,title as 书名,Ytd_sales 年销售量
from titles,authors
WHERE Ytd_sales IS NULL;
```
这里我们查找没有销售记录的书籍,同时结合了`titles`和`authors`表,虽然在这个例子中它们没有实际关联。
9. **全集查询**:
```sql
select title as 书名
from titles;
```
这是最简单的查询,返回所有书籍的书名,包括没有销售记录的书籍。
10. **连接查询**:
```sql
select pub_name as 出版社名称,title 书名
from titles,Publishers
WHERE type='business' and publishers.pub_id=titles.pub_id;
```
使用连接查询,找出出版了"商业"类型书籍的所有出版社的名称和对应书籍。
通过这些示例,我们可以了解到SQL查询的多样性和灵活性,涵盖了基本选择、条件过滤、连接、日期处理等多种功能,为数据库管理提供了强大的工具。对于初学者来说,熟练掌握这些查询语句是进一步学习更复杂数据库操作的基础。