2023年8月3日发(作者:)

⼦查询在UPDATE语句中的应⽤在UPDATE语句中可以在更新列表中以及WHERE语句使⽤⼦查询。下⾯演⽰⼀个将图书的出版⽇期全部更新为所有图书中的最新出版⽇期,SQL语句如下:UPDATE T_Book SET FYearPublished=(SELECT MAX(FYearPublished) FROM T_Book)注意,在MYSQL 中是不⽀持使⽤⼦查询来更新⼀个列的,所以这个UPDATE 语句⽆法在MYSQL中执⾏。执⾏完毕查看T_Book表中的内容:FID FNAME FYEARPUBLISHED FCATEGORYID1 About J2EE 2008 42 Learning Hibernate 2008 43 Two Cites 2008 14 Jane Eyre 2008 15 Oliver Twist 2008 16 History of China 2008 27 History of England 2008 28 History of America 2008 29 History of TheWorld 2008 210 Atom 2008 311 RELATIVITY 2008 312 Computer 2008 313 Astronomy 2008 314 How To Singing 2008 515 DaoDeJing 2008 616 Obedience toAuthority 2008 6如果UPDATE语句拥有WHERE⼦句,那么还可以在WHERE⼦句中使⽤⼦查询,其使⽤⽅式与SELECT语句中的⼦查询基本相同,⽽且也可以使⽤相关⼦查询等⾼级的特性。下⾯的SQL语句⽤来将所有同类书本书超过3 本的图书的出版⽇期更新为2005:UPDATE T_Book b1 SET ublished=2005WHERE( SELECT COUNT(*) FROM T_Book b2 WHERE b1. FCategoryId=b2. FCategoryId)>3上⾯的SQL 语句使⽤相关⼦查询来查询所有与待更新的书籍属于同类别的书籍的总数,如果总数⼤于3则将当前书籍的出版⽇期更新为2005。执⾏完毕查看T_Book表中的内容:FID FNAME FYEARPUBLISHED FCATEGORYID1 About J2EE 2008 42 Learning Hibernate 2008 43 Two Cites 2008 14 Jane Eyre 2008 15 Oliver Twist 2008 16 History of China 2005 27 History of England 2005 28 History of America 2005 29 History of TheWorld 2005 210 Atom 2005 311 RELATIVITY 2005 312 Computer 2005 313 Astronomy 2005 314 How To Singing 2008 515 DaoDeJing 2008 616 Obedience toAuthority 2008 6

2023年8月3日发(作者:)

⼦查询在UPDATE语句中的应⽤在UPDATE语句中可以在更新列表中以及WHERE语句使⽤⼦查询。下⾯演⽰⼀个将图书的出版⽇期全部更新为所有图书中的最新出版⽇期,SQL语句如下:UPDATE T_Book SET FYearPublished=(SELECT MAX(FYearPublished) FROM T_Book)注意,在MYSQL 中是不⽀持使⽤⼦查询来更新⼀个列的,所以这个UPDATE 语句⽆法在MYSQL中执⾏。执⾏完毕查看T_Book表中的内容:FID FNAME FYEARPUBLISHED FCATEGORYID1 About J2EE 2008 42 Learning Hibernate 2008 43 Two Cites 2008 14 Jane Eyre 2008 15 Oliver Twist 2008 16 History of China 2008 27 History of England 2008 28 History of America 2008 29 History of TheWorld 2008 210 Atom 2008 311 RELATIVITY 2008 312 Computer 2008 313 Astronomy 2008 314 How To Singing 2008 515 DaoDeJing 2008 616 Obedience toAuthority 2008 6如果UPDATE语句拥有WHERE⼦句,那么还可以在WHERE⼦句中使⽤⼦查询,其使⽤⽅式与SELECT语句中的⼦查询基本相同,⽽且也可以使⽤相关⼦查询等⾼级的特性。下⾯的SQL语句⽤来将所有同类书本书超过3 本的图书的出版⽇期更新为2005:UPDATE T_Book b1 SET ublished=2005WHERE( SELECT COUNT(*) FROM T_Book b2 WHERE b1. FCategoryId=b2. FCategoryId)>3上⾯的SQL 语句使⽤相关⼦查询来查询所有与待更新的书籍属于同类别的书籍的总数,如果总数⼤于3则将当前书籍的出版⽇期更新为2005。执⾏完毕查看T_Book表中的内容:FID FNAME FYEARPUBLISHED FCATEGORYID1 About J2EE 2008 42 Learning Hibernate 2008 43 Two Cites 2008 14 Jane Eyre 2008 15 Oliver Twist 2008 16 History of China 2005 27 History of England 2005 28 History of America 2005 29 History of TheWorld 2005 210 Atom 2005 311 RELATIVITY 2005 312 Computer 2005 313 Astronomy 2005 314 How To Singing 2008 515 DaoDeJing 2008 616 Obedience toAuthority 2008 6