1)创建测试所用表
| create table fruits ( |
| f_id char(10) not null, |
| s_id int not null, |
| f_name char(255) not null, |
| f_price decimal(8,2) not null, |
| primary key(f_id) ); |
| #创建测试所用表一 |
| insert into fruits values |
| ('a1',101,'apple','5.2'), |
| ('b1',101,'blackberry','10.2'), |
| ('bs1',102,'orange','11.2'), |
| ('bs2',105,'melon','8.2'), |
| ('t1',102,'banana','10.3'), |
| ('t2',102,'grape','5.3'), |
| ('o2',103,'coconut','9.2'), |
| ('c0',101,'cherry','3.2'), |
| ('a2',103,'apricot','2.2'), |
| ('l2',104,'lemon','6.4'), |
| ('b2',104,'berry','7.6'), |
| ('m1',106,'mango','15.7'), |
| ('m2',105,'xbabay','2.6'), |
| ('t4',107,'xbababa','2.6'), |
| ('m3',105,'xxtt','11.6'), |
| ('b5',107,'xxxx','3.6'); |
| #向表一批量插入数据 |
| |
| create table customers ( |
| c_id int not null auto_increment, |
| c_name char(50) not null, |
| c_address char(50) null, |
| c_city char(50) null, |
| c_zip char(50) null, |
| c_contact char(50) null, |
| c_email char(50) null, |
| primary key(c_id) |
| ); |
| #创建测试所用表二 |
| insert into customers values |
| (10001,'RedHook','200 Street','Tianjin','300000','LiMing','LMing@163.com'), |
| (1002,'Stars','333 Fromage Lane','Dalian','116000','Zhangbo','Jerry@hotnail.com'), |
| (10003,'Netbhood','1 Sunny Place','Qingdao','266000','LuoCong',NULL), |
| (1004,'JOTO','829 Riverside Drive','Haikou','570000','YangShan','sam@hotmail.com'); |
| #向表二批量插入数据 |
2)查看两个表中存储的数据
| select * from fruits; |
| +------+------+------------+---------+ |
| | f_id | s_id | f_name | f_price | |
| +------+------+------------+---------+ |
| | a1 | 101 | apple | 5.20 | |
| | a2 | 103 | apricot | 2.20 | |
| | b1 | 101 | blackberry | 10.20 | |
| | b2 | 104 | berry | 7.60 | |
| | b5 | 107 | xxxx | 3.60 | |
| | bs1 | 102 | orange | 11.20 | |
| | bs2 | 105 | melon | 8.20 | |
| | c0 | 101 | cherry | 3.20 | |
| | l2 | 104 | lemon | 6.40 | |
| | m1 | 106 | mango | 15.70 | |
| | m2 | 105 | xbabay | 2.60 | |
| | m3 | 105 | xxtt | 11.60 | |
| | o2 | 103 | coconut | 9.20 | |
| | t1 | 102 | banana | 10.30 | |
| | t2 | 102 | grape | 5.30 | |
| | t4 | 107 | xbababa | 2.60 | |
| +------+------+------------+---------+ |
| select * from customers; |
| +-------+----------+---------------------+---------+--------+-----------+-------------------+ |
| | c_id | c_name | c_address | c_city | c_zip | c_contact | c_email | |
| +-------+----------+---------------------+---------+--------+-----------+-------------------+ |
| | 1002 | Stars | 333 Fromage Lane | Dalian | 116000 | Zhangbo | Jerry@hotnail.com | |
| | 1004 | JOTO | 829 Riverside Drive | Haikou | 570000 | YangShan | sam@hotmail.com | |
| | 10001 | RedHook | 200 Street | Tianjin | 300000 | LiMing | LMing@163.com | |
| | 10003 | Netbhood | 1 Sunny Place | Qingdao | 266000 | LuoCong | NULL | |
| +-------+----------+---------------------+---------+--------+-----------+-------------------+ |
3)只查询fruits表中f_name列的数据
| select f_name from fruits; |
| +------------+ |
| | f_name | |
| +------------+ |
| | apple | |
| | apricot | |
| | blackberry | |
| | berry | |
| | xxxx | |
| | orange | |
| | melon | |
| | cherry | |
| | lemon | |
| | mango | |
| | xbabay | |
| | xxtt | |
| | coconut | |
| | banana | |
| | grape | |
| | xbababa | |
| +------------+ |
4)只查询fruits表中f_name列和f_price列的数据
| select f_name,f_price from fruits; |
| +------------+---------+ |
| | f_name | f_price | |
| +------------+---------+ |
| | apple | 5.20 | |
| | apricot | 2.20 | |
| | blackberry | 10.20 | |
| | berry | 7.60 | |
| | xxxx | 3.60 | |
| | orange | 11.20 | |
| | melon | 8.20 | |
| | cherry | 3.20 | |
| | lemon | 6.40 | |
| | mango | 15.70 | |
| | xbabay | 2.60 | |
| | xxtt | 11.60 | |
| | coconut | 9.20 | |
| | banana | 10.30 | |
| | grape | 5.30 | |
| | xbababa | 2.60 | |
| +------------+---------+ |
5)查询fruits表中f_name和f_price的列,并且f_price的数值等于5.2
| select f_name,f_price from fruits where f_price=5.2; |
| +--------+---------+ |
| | f_name | f_price | |
| +--------+---------+ |
| | apple | 5.20 | |
| +--------+---------+ |
6)查询fruits表中f_name和f_price的列,并且f_price的数值大于或等于10
| select f_name,f_price from fruits where f_price>=10; |
| +------------+---------+ |
| | f_name | f_price | |
| +------------+---------+ |
| | blackberry | 10.20 | |
| | orange | 11.20 | |
| | mango | 15.70 | |
| | xxtt | 11.60 | |
| | banana | 10.30 | |
| +------------+---------+ |
7)查询fruits表中f_name和f_price的列,并且f_price的数值在2到8之间
| select f_name,f_price from fruits where f_price between 2 and 8; |
| +---------+---------+ |
| | f_name | f_price | |
| +---------+---------+ |
| | apple | 5.20 | |
| | apricot | 2.20 | |
| | berry | 7.60 | |
| | xxxx | 3.60 | |
| | cherry | 3.20 | |
| | lemon | 6.40 | |
| | xbabay | 2.60 | |
| | grape | 5.30 | |
| | xbababa | 2.60 | |
| +---------+---------+ |
8)查询fruits表中的f_name和s_id列,并且s_id的值为101或者103
方法一:
| select f_name,s_id from fruits where s_id = 101 or s_id = 103; |
| +------------+------+ |
| | f_name | s_id | |
| +------------+------+ |
| | apple | 101 | |
| | apricot | 103 | |
| | blackberry | 101 | |
| | cherry | 101 | |
| | coconut | 103 | |
| +------------+------+ |
方法二:
| select f_name,s_id from fruits where s_id in (101,103); |
| +------------+------+ |
| | f_name | s_id | |
| +------------+------+ |
| | apple | 101 | |
| | apricot | 103 | |
| | blackberry | 101 | |
| | cherry | 101 | |
| | coconut | 103 | |
| +------------+------+ |
9)查询fruits表中的f_name和s_id列,并且s_id的值不为101和103
方法一:
| select f_name,s_id from fruits where s_id != 101 and s_id != 103; |
| +---------+------+ |
| | f_name | s_id | |
| +---------+------+ |
| | berry | 104 | |
| | xxxx | 107 | |
| | orange | 102 | |
| | melon | 105 | |
| | lemon | 104 | |
| | mango | 106 | |
| | xbabay | 105 | |
| | xxtt | 105 | |
| | banana | 102 | |
| | grape | 102 | |
| | xbababa | 107 | |
| +---------+------+ |
方法二:
| select f_name,s_id from fruits where s_id not in (101,103); |
| +---------+------+ |
| | f_name | s_id | |
| +---------+------+ |
| | berry | 104 | |
| | xxxx | 107 | |
| | orange | 102 | |
| | melon | 105 | |
| | lemon | 104 | |
| | mango | 106 | |
| | xbabay | 105 | |
| | xxtt | 105 | |
| | banana | 102 | |
| | grape | 102 | |
| | xbababa | 107 | |
| +---------+------+ |
10)模糊查询“%”和“_”的使用
① 查询fruits表中的f_name列,并且值以“b”开头
| select f_name from fruits where f_name like 'b%'; |
| +------------+ |
| | f_name | |
| +------------+ |
| | blackberry | |
| | berry | |
| | banana | |
| +------------+ |
② 查询fruits表中的f_name列,并且值以“b”开头,以“y”结尾
| select f_name from fruits where f_name like 'b%y'; |
| +------------+ |
| | f_name | |
| +------------+ |
| | blackberry | |
| | berry | |
| +------------+ |
③ 查询fruits表中的f_name列,值以“b”开头,以“y”结尾,并且b和y之间有三个字符
| select f_name from fruits where f_name like 'b___y'; |
| +--------+ |
| | f_name | |
| +--------+ |
| | berry | |
| +--------+ |
11)查询fruits表中s_id的值为101并且f_price的值大于2.0的行
| select * from fruits where s_id = 101 and f_price > 2.0; |
| +------+------+------------+---------+ |
| | f_id | s_id | f_name | f_price | |
| +------+------+------------+---------+ |
| | a1 | 101 | apple | 5.20 | |
| | b1 | 101 | blackberry | 10.20 | |
| | c0 | 101 | cherry | 3.20 | |
| +------+------+------------+---------+ |
12)查询fruits表中s_id的值为101或103并且f_price列的值大于5
| select * from fruits where s_id in (101,103) and f_price > 5; |
| +------+------+------------+---------+ |
| | f_id | s_id | f_name | f_price | |
| +------+------+------------+---------+ |
| | a1 | 101 | apple | 5.20 | |
| | b1 | 101 | blackberry | 10.20 | |
| | o2 | 103 | coconut | 9.20 | |
| +------+------+------------+---------+ |
13)查询fruits表中的s_id列,并去除重复值
| select distinct s_id from fruits; |
| +------+ |
| | s_id | |
| +------+ |
| | 101 | |
| | 103 | |
| | 104 | |
| | 107 | |
| | 102 | |
| | 105 | |
| | 106 | |
| +------+ |
14)查询fruits表中的s_id和f_name列,并以s_id对结果进行排序
| select s_id,f_name from fruits order by s_id; |
| +------+------------+ |
| | s_id | f_name | |
| +------+------------+ |
| | 101 | apple | |
| | 101 | blackberry | |
| | 101 | cherry | |
| | 102 | orange | |
| | 102 | banana | |
| | 102 | grape | |
| | 103 | apricot | |
| | 103 | coconut | |
| | 104 | berry | |
| | 104 | lemon | |
| | 105 | melon | |
| | 105 | xbabay | |
| | 105 | xxtt | |
| | 106 | mango | |
| | 107 | xxxx | |
| | 107 | xbababa | |
| +------+------------+ |
15)查询fruits表中的f_name及f_price列,并以f_name和f_price列进行排序
| select distinct f_name,f_price from fruits order by f_name,f_price; |
| +------------+---------+ |
| | f_name | f_price | |
| +------------+---------+ |
| | apple | 5.20 | |
| | apricot | 2.20 | |
| | banana | 10.30 | |
| | berry | 7.60 | |
| | blackberry | 10.20 | |
| | cherry | 3.20 | |
| | coconut | 9.20 | |
| | grape | 5.30 | |
| | lemon | 6.40 | |
| | mango | 15.70 | |
| | melon | 8.20 | |
| | orange | 11.20 | |
| | xbababa | 2.60 | |
| | xbabay | 2.60 | |
| | xxtt | 11.60 | |
| | xxxx | 3.60 | |
| +------------+---------+ |
注:多字段排序,如果第一个排序的字段一致,会依靠第二个字段排序,依次类推,如果第一个字段不一样,则直接以第一段来进行排序!
16)查询fruits表中的f_price列,并对结果以降序进行排序
默认是asc升序排序,可以通过关键字DESC更改为降序!
| select f_price from fruits order by f_price desc; |
| +---------+ |
| | f_price | |
| +---------+ |
| | 15.70 | |
| | 11.60 | |
| | 11.20 | |
| | 10.30 | |
| | 10.20 | |
| | 9.20 | |
| | 8.20 | |
| | 7.60 | |
| | 6.40 | |
| | 5.30 | |
| | 5.20 | |
| | 3.60 | |
| | 3.20 | |
| | 2.60 | |
| | 2.60 | |
| | 2.20 | |
| +---------+ |
17)查询fruits中s_id列不同值出现的次数,并对其进行分组显示
调用count(*)函数统计次数,并通过as来对其设置别名,group by来进行分组!
| select s_id,count(*) as total from fruits group by s_id; |
| +------+-------+ |
| | s_id | total | |
| +------+-------+ |
| | 101 | 3 | |
| | 102 | 3 | |
| | 103 | 2 | |
| | 104 | 2 | |
| | 105 | 3 | |
| | 106 | 1 | |
| | 107 | 2 | |
| +------+-------+ |
18)查询fruits表中每个相同的s_id对应的f_name列的所有值,f_name的值以一行显示,并且其值在1个以上
| select s_id,group_concat(f_name) as name from fruits group by s_id having count(f_name) > 1; |
| +------+-------------------------+ |
| | s_id | name | |
| +------+-------------------------+ |
| | 101 | apple,blackberry,cherry | |
| | 102 | orange,banana,grape | |
| | 103 | apricot,coconut | |
| | 104 | berry,lemon | |
| | 105 | melon,xbabay,xxtt | |
| | 107 | xxxx,xbababa | |
| +------+-------------------------+ |
19)查询customers表中c_email列为空值的行
| select * from customers where c_email is null; |
| +-------+----------+---------------+---------+--------+-----------+---------+ |
| | c_id | c_name | c_address | c_city | c_zip | c_contact | c_email | |
| +-------+----------+---------------+---------+--------+-----------+---------+ |
| | 10003 | Netbhood | 1 Sunny Place | Qingdao | 266000 | LuoCong | NULL | |
| +-------+----------+---------------+---------+--------+-----------+---------+ |
20)查询fruits表中每个s_id对应的所有f_name值
| select s_id,group_concat(f_name) as name from fruits group by s_id having count(f_name) > 1; |
| +------+-------------------------+ |
| | s_id | name | |
| +------+-------------------------+ |
| | 101 | apple,blackberry,cherry | |
| | 102 | orange,banana,grape | |
| | 103 | apricot,coconut | |
| | 104 | berry,lemon | |
| | 105 | melon,xbabay,xxtt | |
| | 107 | xxxx,xbababa | |
| +------+-------------------------+ |
21)统计fruits表相同s_id值的行有多少?
| select s_id,count(*) as total from fruits group by s_id with rollup; |
| +------+-------+ |
| | s_id | total | |
| +------+-------+ |
| | 101 | 3 | |
| | 102 | 3 | |
| | 103 | 2 | |
| | 104 | 2 | |
| | 105 | 3 | |
| | 106 | 1 | |
| | 107 | 2 | |
| | NULL | 16 | |
| +------+-------+ |
22)创建所需表并插入数据
| create table orderitems ( |
| o_num int not null, |
| o_item int not null, |
| f_id char(10) not null, |
| quantity int not null, |
| item_price decimal(8,2) not null, |
| primary key(o_num,o_item) ); |
| #创建新的测试表 |
| insert into orderitems values |
| (30001,1,'a1',10,'5.2'), |
| (30001,2,'b2',3,'7.6'), |
| (30001,3,'bs1',5,'11.2'), |
| (30001,4,'bs2',15,'9.2'), |
| (30002,1,'b3',2,'20.0'), |
| (30003,1,'c0',100,10), |
| (30004,1,'o2',50,'2.50'), |
| (30005,1,'c0',5,'10'), |
| (30005,2,'b1',10,'8.99'), |
| (30005,3,'a2',10,'2.2'), |
| (30005,4,'m1',5,'14.99'); |
| #插入数据 |
| select * from orderitems; |
| +-------+--------+------+----------+------------+ |
| | o_num | o_item | f_id | quantity | item_price | |
| +-------+--------+------+----------+------------+ |
| | 30001 | 1 | a1 | 10 | 5.20 | |
| | 30001 | 2 | b2 | 3 | 7.60 | |
| | 30001 | 3 | bs1 | 5 | 11.20 | |
| | 30001 | 4 | bs2 | 15 | 9.20 | |
| | 30002 | 1 | b3 | 2 | 20.00 | |
| | 30003 | 1 | c0 | 100 | 10.00 | |
| | 30004 | 1 | o2 | 50 | 2.50 | |
| | 30005 | 1 | c0 | 5 | 10.00 | |
| | 30005 | 2 | b1 | 10 | 8.99 | |
| | 30005 | 3 | a2 | 10 | 2.20 | |
| | 30005 | 4 | m1 | 5 | 14.99 | |
| +-------+--------+------+----------+------------+ |
| #查询数据 |
23) 查询同一个o_num列的quantity(数量)和item_price(价格)相乘结果大于100的行
| select o_num,SUM(quantity*item_price) as total from orderitems |
| group by o_num having total > 100 order by total; |
| +-------+---------+ |
| | o_num | total | |
| +-------+---------+ |
| | 30004 | 125.00 | |
| | 30005 | 236.85 | |
| | 30001 | 268.80 | |
| | 30003 | 1000.00 | |
| +-------+---------+ |
24)limit——限制返回的行数
① 仅显示前四行
| select * from fruits limit 4; |
| +------+------+------------+---------+ |
| | f_id | s_id | f_name | f_price | |
| +------+------+------------+---------+ |
| | a1 | 101 | apple | 5.20 | |
| | a2 | 103 | apricot | 2.20 | |
| | b1 | 101 | blackberry | 10.20 | |
| | b2 | 104 | berry | 7.60 | |
| +------+------+------------+---------+ |
② 从第四行开始,显示后三行
| select * from fruits limit 4,3; |
| +------+------+--------+---------+ |
| | f_id | s_id | f_name | f_price | |
| +------+------+--------+---------+ |
| | b5 | 107 | xxxx | 3.60 | |
| | bs1 | 102 | orange | 11.20 | |
| | bs2 | 105 | melon | 8.20 | |
| +------+------+--------+---------+ |
25)查询每个o_num对应的f_id有几个
| select o_num,count(f_id) as items_total from orderitems group by o_num; |
| +-------+-------------+ |
| | o_num | items_total | |
| +-------+-------------+ |
| | 30001 | 4 | |
| | 30002 | 1 | |
| | 30003 | 1 | |
| | 30004 | 1 | |
| | 30005 | 4 | |
| +-------+-------------+ |
26)查询o_num为30005的quantity(数量)有多少
| select sum(quantity) as items_total from orderitems where o_num = 30005; |
| +-------------+ |
| | items_total | |
| +-------------+ |
| | 30 | |
| +-------------+ |
27)查询s_id为103的f_price的平均数是多少(s_id的平均价格是多少)
| select avg(f_price) as avg_price from fruits where s_id = 103; |
| +-----------+ |
| | avg_price | |
| +-----------+ |
| | 5.700000 | |
| +-----------+ |
28)查询每个s_id对应的平均价格(f_price)是多少?
| select s_id,avg(f_price) as avg_price from fruits group by s_id; |
| +------+-----------+ |
| | s_id | avg_price | |
| +------+-----------+ |
| | 101 | 6.200000 | |
| | 102 | 8.933333 | |
| | 103 | 5.700000 | |
| | 104 | 7.000000 | |
| | 105 | 7.466667 | |
| | 106 | 15.700000 | |
| | 107 | 3.100000 | |
| +------+-----------+ |
29)查询每个s_id中f_price值最大的行是哪个?
| select s_id, max(f_price) as max_price from fruits group by s_id; |
| +------+-----------+ |
| | s_id | max_price | |
| +------+-----------+ |
| | 101 | 10.20 | |
| | 102 | 11.20 | |
| | 103 | 9.20 | |
| | 104 | 7.60 | |
| | 105 | 11.60 | |
| | 106 | 15.70 | |
| | 107 | 3.60 | |
| +------+-----------+ |
| #若要查看最小的行,只需要将max换为min即可。 |
30)查询每个f_price值最大的值及其所对应的s_id、f_name
| select s_id,f_price,f_name from fruits |
| where f_price in(select max(f_price) from fruits group by s_id); |
| +------+---------+------------+ |
| | s_id | f_price | f_name | |
| +------+---------+------------+ |
| | 101 | 10.20 | blackberry | |
| | 104 | 7.60 | berry | |
| | 107 | 3.60 | xxxx | |
| | 102 | 11.20 | orange | |
| | 106 | 15.70 | mango | |
| | 105 | 11.60 | xxtt | |
| | 103 | 9.20 | coconut | |
| +------+---------+------------+ |
31)创建所需表并插入数据
| create table suppliers ( |
| s_id int not null auto_increment, |
| s_name char(50) not null, |
| s_city char(50) null, |
| s_zip char(10) null, |
| s_call char(50) not null, |
| primary key(s_id) ); |
| #创建测试表一 |
| create table orders ( |
| o_num int not null auto_increment, |
| o_date datetime not null, |
| c_id int not null, |
| primary key(o_num) ); |
| #创建测试表二 |
| insert into suppliers values |
| (101,'FastFruit Inc.','tianjin','300000','48075'), |
| (102,'LT Supplies','chongqing','400000','44333'), |
| (103,'acme','shanghai','200000','90046'), |
| (104,'fnk inc.','zhongshan','528437','11111'), |
| (105,'good set','taivuang','030000','22222'), |
| (106,'just eat ours','beijing','010','45678'), |
| (107,'dk inc.','zhengzhou','450000','33332'); |
| #向表一插入数据 |
| insert into orders values |
| (30001,'2008-09-01',10001), |
| (30002,'2008-09-12',10003), |
| (30003,'2008-09-30',10004), |
| (30004,'2008-10-03',10005), |
| (30005,'2008-10-08',10001); |
| #向表二插入数据 |
32)表联接类型
在进行接下来的查询,有必要说一下多表查询的相关概念!
① 内联接
内联接(inner join)是最常见的一种联接方式,只返回两个数据集合之间匹配关系的行,将位于两个互相交叉的数据集合中重叠部分以内的数据行联接起来。
内联接使用比较运算符进行表间某些列数据的比较操作,并列出这些表中与联接相匹配的数据行。
② 外联接
外联接(outer join)是对内联接的扩充,除了将两个数据集合中重复部分以内的数据行联接起来之外,还可以根据要求返回左侧或右侧表中非匹配的数据或全部的数据。
外联接还可以分为以下几种:
-
左外联接(left join或left outer join)的结果包括左表的所有行,如果左表的某一行在右表中没有匹配行,则右表返回空值,否则返回相应值;
-
右外联接(right join或right outer join)是左外联接的反向联接,将返回右表的所有行,如果右表的某一行在左表中没有匹配行,则左表返回空值,否则返回相应值;
-
全联接(full join 或full outer join)将返回左表和右表中的所有行,当某一行在另一个表中没有匹配行时,另一个表返回空值,否则返回相应值;
33)内联接查询,将两个表的指定列生成一个新表
| select suppliers.s_id,s_name,f_name,f_price from fruits inner join suppliers on fruits.s_id = suppliers.s_id; |
| +------+----------------+------------+---------+ |
| | s_id | s_name | f_name | f_price | |
| +------+----------------+------------+---------+ |
| | 101 | FastFruit Inc. | apple | 5.20 | |
| | 103 | acme | apricot | 2.20 | |
| | 101 | FastFruit Inc. | blackberry | 10.20 | |
| | 104 | fnk inc. | berry | 7.60 | |
| | 107 | dk inc. | xxxx | 3.60 | |
| | 102 | LT Supplies | orange | 11.20 | |
| | 105 | good set | melon | 8.20 | |
| | 101 | FastFruit Inc. | cherry | 3.20 | |
| | 104 | fnk inc. | lemon | 6.40 | |
| | 106 | just eat ours | mango | 15.70 | |
| | 105 | good set | xbabay | 2.60 | |
| | 105 | good set | xxtt | 11.60 | |
| | 103 | acme | coconut | 9.20 | |
| | 102 | LT Supplies | banana | 10.30 | |
| | 102 | LT Supplies | grape | 5.30 | |
| | 107 | dk inc. | xbababa | 2.60 | |
| +------+----------------+------------+---------+ |
34)左外联接查询示例
| select customers.c_id,orders.o_num from customers |
| left outer join orders on customers.c_id = orders.c_id; |
| +-------+-------+ |
| | c_id | o_num | |
| +-------+-------+ |
| | 10001 | 30001 | |
| | 10003 | 30002 | |
| | 10001 | 30005 | |
| | 1002 | NULL | |
| | 1004 | NULL | |
| +-------+-------+ |
35)内联接查询时指定其他条件
| select customers.c_id,orders.o_num from customers inner join orders on customers.c_id = orders.c_id; |
| +-------+-------+ |
| | c_id | o_num | |
| +-------+-------+ |
| | 10001 | 30001 | |
| | 10003 | 30002 | |
| | 10001 | 30005 | |
| +-------+-------+ |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律